-1

我在 jquery mobile 中有五个按钮(我正在使用 get 进入页面),我想单击该按钮将帖子发送到具有按下按钮值的同一页面

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

4

2 回答 2

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"); });
});

您可以在此处查看工作示例

因此,您必须使用 "[data-role="button"]" 选择器,然后发送带有按钮 ID 的 ajax 请求。

要获取表单数据,您可以使用serializeArray()然后添加刚刚单击按钮的值。

于 2013-01-09T13:14:43.243 回答
1

我认为解决您的问题的最佳方法是绑定一个函数以在按钮上运行,然后处理按下的按钮。像这样的东西:

$('.ui-grid-b div[data-role="button"]').click(function() {  
    var button_clicked = $(this).attr('id');
});

button_clicked然后将包含刚刚单击的按钮的 ID,以便您可以随意使用它...

于 2013-01-09T13:11:25.673 回答