我试图通过按下按钮的按钮进行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>
任何人都可以帮助我从按钮中取出值吗?
答案 0 :(得分: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
网址(如果已定义)。
把它们放在一起:
$(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
});
});