4

我有一个触发 ajax 调用的简单表单,但是一旦单击提交按钮,表单就会重置并清除所有条目。你知道如何防止这种情况吗?我想控制表单何时被清除。代码如下。我怀疑我需要放弃提交功能并检测按钮上的“点击”事件。

jQuery

$("#Formid").submit(function(){loadAjax();});

HTML

    <form id="Formid" method="put">
       Name<BR/>
       <input type="text" name="name"/><BR/><BR/>
       Node Id<BR/>
       <input type="text" name="node_id"/><BR/><BR/>
       Type<BR/> 
       <input type="text" name="type"/><BR/><BR/>
       Parent<BR/> 
       <input type="text" name="parent_id"/><BR/><BR/>
       Longitude<BR/> 
       <input type="text" name="longitude"/><BR/><BR/>
       Latitude<BR/>
       <input type="text" name="latitude"/><BR/><BR/>           
       Description<BR/>          
       <textarea name="description" rows="5" cols="40">Insert description  here</textarea><BR/><BR/>           
       <input type="submit" value="Add Node"/>

    </form>
4

4 回答 4

7

您可以使用preventDefault事件对象的方法。

$("#Formid").submit(function(event){
   loadAjax();
   event.preventDefault()
})
于 2012-09-19T01:47:04.853 回答
0

您可以使用e.preventDefault()return false;在 jQuery 事件处理程序中:

$("#Formid").submit(function (e) {
   loadAjax();
   e.preventDefault(); // or return false;
});

e.preventDefault() 将阻止默认事件的发生, e.stopPropagation() 将阻止事件冒泡, return false 将同时进行。

于 2012-09-19T01:51:27.737 回答
0

或者,您可以使用 event.returnValue = false;

$("#Formid").submit( function(e) {
  loadAjax();
  e.returnValue = false;
});

这与“return false;”类似,但它不会退出函数。

于 2012-09-19T02:40:36.060 回答
0

我已阻止清除我的网站 mrnams.com 的搜索表单

看法

@using (@Html.BeginForm("Search", "Home", FormMethod.Post, new { @class = "navbar-form navbar-right pull-right" }))
{
    <div class="input-group">
        <input id="input-searchQuery" type="text" class="form-control" placeholder="Search this site" name="q">
        <span class="input-group-btn">
            <button type="submit" class="btn btn-default">
                <span class="glyphicon glyphicon-search"></span>
            </button>
        </span>
    </div>
}

视图中的 jQuery 函数

@section scripts{
  <script type="text/javascript">
    $(function () {
        var queryReturned = '@ViewBag.SearchQuery';
        $("#input-searchQuery").val(queryReturned); 
    });
  </script>
}

这是控制器。

public class Home : Controller
{            
  public ActionResult Search(string q)
  {
    ViewBag.SearchQuery = q;
  }
}

如需演示,请访问https://mrnams.com/

于 2018-10-14T06:56:24.900 回答