繁体   English   中英

想要 HTML 表单提交什么也不做

[英]Want HTML form submit to do nothing

我希望 HTML 表单在提交后不执行任何操作。

action=""

不好,因为它会导致页面重新加载。

基本上,我希望在按下按钮或有人在键入数据后按Enter键时调用 Ajax function。 是的,我可以删除表单标签并添加仅从按钮的 onclick 事件中调用 function,但我也希望“点击进入”功能不会变得很乱。

通过使用return false; 在您从提交按钮调用的 JavaScript 代码中,您可以阻止表单提交。

基本上,您需要以下 HTML:

<form onsubmit="myFunction(); return false;">
    <input type="submit" value="Submit">
</form>

然后是支持的 JavaScript 代码:

<script language="javascript"><!--
    function myFunction() {
        // Do stuff
    }
//--></script>

如果您愿意,您还可以在某些条件下允许脚本提交表单:

<form onSubmit="return myFunction();">
    <input type="submit" value="Submit">
</form>

搭配:

<script language="JavaScript"><!--
    function myFunction() {
        // Do stuff
        if (condition)
            return true;

        return false;
    }
//--></script>
<form id="my_form" onsubmit="return false;">

足够的 ...

它也有效:

<form id='my_form' action="javascript:myFunction(); return false;">

怎么样

<form id="my_form" onsubmit="the_ajax_call_function(); return false;">
 ......
</form>

您可以使用以下 HTML

<form onSubmit="myFunction(); return false;">
  <input type="submit" value="Submit">
</form>
<form onsubmit="return false;">

使用jQuery 也许在表单中的元素周围放置一个 div。 然后使用 preventDefault() 然后进行 Ajax 调用。

作为按钮的 onclick 事件的一部分,返回 false,这将阻止表单提交。

IE:

function doFormStuff() {
    // Ajax function body here
    return false;
}

只需在单击提交按钮时调用该函数。 有很多不同的方法。

利用:

<form action='javascript:functionWithAjax("search");'>
  <input class="keyword" id="keyword" name="keyword" placeholder="input your keywords" type="search">
  <i class="iconfont icon-icon" onclick="functionWithAjax("search");"></i>
</form>

<script type="text/javascript">
  function functionWithAjax(type) {
    // Ajax action

    return false;
  }
</script>

“return false”不起作用的情况下,

尝试将event传递给formonsubmit (不是动作!)

并简单地在 function 中添加event.preventDefault()

保留 html 中的“操作”。其他信息:action="javascript:etc(event)" 在我的测试中不起作用。

只需将 'action=""' 替换为 onsubmit='return false'。 而已。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM