2014-11-22 35 views
0

我试图从一个按钮的按钮按下,发布按钮的值,我打算有多个选择按钮按下。阿贾克斯按钮的按下值不被拉出

下面是岗位价值脚本/ _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> 

任何人都可以帮助我拉值出按钮?

回答

0

你不能做到这一点

<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 
    }); 
}); 
+0

感谢您的回复,我加了你的变化,但不会出现被工作要么 – Adders 2014-11-22 12:14:44

+0

我的代码应能正常工作。如果您在开发人员控制台中复制'$('input [name =“a”]')。val()',您应该会看到输出字段的值被打印出来。你必须更具体地说明为什么它不起作用,但是你的代码或者服务器的某个地方有一个错误。 – 2014-11-22 12:23:50

+0

想想我对使用哪个按钮按下感到困惑? – Adders 2014-11-22 12:35:13