我在jquery mobile中有五个按钮(我正在页面上输入)我想点击那个按钮发送帖子到同一页面按下按钮的值
<div class="ui-grid-b">
<div data-role="button" id="attack" value="attack" >Attack</div>
<div data-role="button" id="intercept" value="intercept" >Intercept</div>
<div data-role="button" id="follow" value="follow">Follow</div>
<div data-role="button" id="go" value="go">Go</div>
<div data-role="button" id="send_backup" value="send_backup">Send Backup</div>
</div>
我试图把它放在表单中,并且每个按钮都有type =“submit”但它不起作用。 点击每个按钮如何发送帖子?
答案 0 :(得分:1)
我认为解决问题的最佳方法是绑定一个函数以在按钮上运行,然后处理按下的按钮。像这样:
$('.ui-grid-b div[data-role="button"]').click(function() {
var button_clicked = $(this).attr('id');
});
然后 button_clicked
将包含刚刚点击的按钮的ID,以便您可以随意使用它...
答案 1 :(得分:1)
代码如下所示:
$('*[data-role="button"]').on('click',function(){
var dataForm = $('form').serializeArray(); // if you need to send form data
dataForm.push({name: 'action', value:$(this).attr('id')}); //add your button value
$.ajax({
type: "POST",
url: window.location.pathname,
data: dataForm
})
.success(function() { alert("success"); })
.error(function() { alert("error"); });
});
您可以看到工作示例here
因此,您必须使用“[data-role =”button“]”选择器,然后发送带有按钮ID的ajax请求。
要获取表单数据,您可以使用serializeArray(),然后再添加仅点击按钮的值。