未拉出 AJAX 按钮按值

ajax button press value not being pulled out

本文关键字:按钮 AJAX      更新时间:2023-09-26

我正在尝试通过发布按钮值的按钮进行ajax调用,我打算按下多项选择按钮。

下面是将值发布到/_url 的脚本

$(function() {
  $('a#buttonpress').bind('click', function() {
    $.getJSON('/_url', {
      a: $('input[name="a"]').val()
    }, function(data) {
      $("#result").text(data.result);
    });
    return false;
  });
});

这是 HTML

<form>
    <input type="text" size="5" name="a"> 
    <p><a href="javascript:void();" id="buttonpress">Submit</a>
</form>

这作为输入字段工作正常,但是当我尝试直接从按钮单击中执行此操作时,它不起作用,这是我想要的并且有......

<button type="submit" a href="javascript:void();" 
id="buttonpress" value="aValue">Submit</button>

谁能帮我从按钮中提取值?

你不能

只这样做

<button type="submit" a href="javascript:void();" 
id="buttonpress" value="aValue">Submit</button>

首先,href不是按钮标签的有效属性。其次,您也在使用a,这意味着您添加了一个名为 a 的空标签。这就是选择器a#buttonpress不起作用的原因,因为您的 html 中没有<a ...>标记。

您可以这样做:

<button type="submit" id="buttonpress" value="aValue">Submit</button>

对于javascript:

var buttonValue = $('#buttonpress').val();

而且,你用错.getJSON正确的方法是:

$.getJSON('url', { data })
    .done(function(data) { ... })
    // Other handlers (.fail, .always)

当您在form内单击"提交"时,浏览器将自动尝试将值提交到表单的action URL(如果已定义)。

总而言之:

$(function () {
    $('form').submit(function (e) {
        $.getJSON('/_url', {
            a: $('#buttonpress').val()
        }).done(function (data) {
            $("#result").text(data.result);
        });
        e.preventDefault(); // This is important, it assures that form won't be sent
    });
});