Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何阻止表单在提交时重置_Javascript_Jquery_Html_Ajax_Forms - Fatal编程技术网

Javascript 如何阻止表单在提交时重置

Javascript 如何阻止表单在提交时重置,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,我有一个触发ajax调用的简单表单,但只要单击submit按钮,表单就会重置并清除所有条目。你知道怎么预防吗?我想控制表单何时被清除。代码如下。我怀疑我需要放弃提交功能,并检测按钮上的“单击”事件 JQuery $("#Formid").submit(function(){loadAjax();}); HTML <form id="Formid" method="put"> Name<BR/> <input type="text

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

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>

名称


节点Id


键入


家长


经度


纬度


说明
在此处插入说明


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

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

您可以使用
e.preventDefault()
返回false:

$("#Formid").submit(function (e) {
   loadAjax();
   e.preventDefault(); // or return false;
});
e、 preventDefault()将阻止默认事件发生, e、 stopPropagation()将防止事件冒泡并返回 假两者都可以


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

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

这与“return false;”的工作原理类似,只是它不会退出该功能。

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

看法


对于演示访问

停止播放
应无效。表单提交是因为其提交方法已被调用或激活,这可以通过多种方式完成(输入类型提交、按钮类型提交、在输入中按enter键、直接调用输入方法等)。它不会因为冒泡单击事件而提交,除非为此设置了侦听器并调用表单的submit方法。使用它有什么好处吗?
@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>
}
@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;
  }
}