使用Jquerymobile,Knockout.js停止表单中的动作传播?

时间:2014-06-24 04:57:27

标签: jquery html5 knockout.js form-submit stoppropagation

所以,我有关于在同一时间执行两个动作的问题。 其中一个动作是AJAX调用,它使用Web服务并执行一些操作来保存服务器上的数据,另一个操作是返回到有列表的视图。

我的代码只跟随href但不执行绑定SUBMIT。 有人告诉我要做我想做的事情,我需要“停止行动的传播”,但我不知道怎么做。你介意给我一些提示吗?这是代码:

<form data-bind="submit: updateData" method="post" data-ajax="false">
  <div data-role="content" data-theme="d">
   <center>
     <h2> Save changes? </h2>
     <input type="submit" name:"submit" data-inline="true">
   </center>
  </div>
</form>

这个问题是基于这个问题 - &gt; How to perform a Knockout.js action before following an <Href>?之前我以不同的方式做过,但之后我把它改成了一个表格。但是,这些都没有对我产生影响。

1 个答案:

答案 0 :(得分:1)

你可以这样做

<form data-bind="submit: updateData" method="post" data-ajax="false">
    <div data-role="content" data-theme="d">
        <center>
            <h2> Save changes? </h2>
            <input type="submit" name:"submit" data-inline="true">
        </center>
    </div>
</form>

self.UpdateData = function(){
    if(self.AjaxRequest()){
        //do other action
        //  $('some id').trigger('click');
    }
}
self.AjaxRequest = function(){
    var status = false
    $.jax({
        ...,
        success : function(){
            status = true
        }
    })
    return status
}