点击每个按钮如何发送帖子?

时间:2013-01-09 12:26:48

标签: jquery html jquery-mobile

我在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”但它不起作用。 点击每个按钮如何发送帖子?

2 个答案:

答案 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(),然后再添加仅点击按钮的值。