Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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_Html - Fatal编程技术网

忽略javascript函数

忽略javascript函数,javascript,html,Javascript,Html,我希望在我的页面上发生一件非常简单的事情,在用户提交表单之后,在表单实际提交之前必须有一个延迟,但是它似乎无法在html表单中工作: <form action='index.php' method='get'> <input type='submit' value='Reset' name='resetBtn' onClick='PreSubmit(this.form)'> </form> 所以我对javascript真的很陌生,但在我看来,onlick事

我希望在我的页面上发生一件非常简单的事情,在用户提交表单之后,在表单实际提交之前必须有一个延迟,但是它似乎无法在html表单中工作:

<form action='index.php' method='get'>
<input type='submit' value='Reset' name='resetBtn' onClick='PreSubmit(this.form)'>

</form>

所以我对javascript真的很陌生,但在我看来,onlick事件必须调用这个javascript函数,它应该等待10秒,然后提交表单并更新页面,但是表单会立即提交,为什么?我如何让它在提交之前等待?任何类型的帮助都将不胜感激

您需要将其设置为type=“button”,而不是type=“submit”

您需要将其设置为type=“button”,而不是type=“submit”

添加返回onclick

onClick='return PreSubmit(this.form)'>
并添加return false以预提交

function PreSubmit(form){
    ....
    //this will stop the click event
    return false;
}
因此,presubmitreturnfalse->onClick return false将停止提交按钮操作

我认为还有一个问题你会考虑,如果<强>用户不断点击按钮会发生什么。<强>等待另外10秒(这意味着你应该清除以前的时间ID),或者当用户第一次点击时禁用它。

< P>添加返回到OnCutton。< /P>
onClick='return PreSubmit(this.form)'>
并添加return false以预提交

function PreSubmit(form){
    ....
    //this will stop the click event
    return false;
}
因此,presubmitreturnfalse->onClick return false将停止提交按钮操作


我认为还有一个问题你会考虑,如果<强>用户连续点击按钮会发生什么。<强>等待另外10秒(这意味着你应该清除以前的时间ID),或者当用户第一次点击时禁用它。

你需要停止提交按钮的默认行为。很多人都会犯返回false的错误,但这并不完全正确。这并不是最好的方法(低调的JS是一个完全不同的主题),但要想用最少的更改实现您想要的,请执行以下操作

HTML:


您需要停止提交按钮的默认行为。很多人都会犯返回false的错误,但这并不完全正确。这并不是最好的方法(低调的JS是一个完全不同的主题),但要想用最少的更改实现您想要的,请执行以下操作

HTML:


行了,谢谢!你能告诉我为什么对函数的常规调用不起作用,而必须使用return吗?如果不是太麻烦的话。关于用户多次点击,我使用延迟来显示动画,基本上这个按钮将消失=)这很有效谢谢!你能告诉我为什么对函数的常规调用不起作用,而必须使用return吗?如果不是太麻烦的话。关于用户多次点击,我使用延迟来显示动画,基本上这个按钮无论如何都会消失=)哦,哇,读得很好,一定会看一看,谢谢,非常好informative@user2209644请注意,链接中的代码使用jQuery,但jQuery只是一个javascript库,因此只是javascript。我的答案中的代码是jQuery的preventDefault函数所实现功能的一个不太健壮的版本。我看到,您是否建议完全跳过javascript,直接从jQuery开始?@user2209644否。对javascript的良好理解将使您能够更有效地使用jQuery,并成为一名更好的全面javascript开发人员。看到了,哦,哇,读得很好,一定会看的,谢谢,非常好informative@user2209644请注意,链接中的代码使用jQuery,但jQuery只是一个javascript库,因此只是javascript。我的答案中的代码是jQuery的preventDefault函数所实现功能的一个不太健壮的版本。我看到,您是否建议完全跳过javascript,直接从jQuery开始?@user2209644否。对javascript的良好理解将使您能够更有效地使用jQuery,并成为一名更好的全面javascript开发人员。看到和
function PreSubmit(event, form) {
    if (event.preventDefault) { 
       event.preventDefault();
    } 
    else {
       event.returnValue = false; 
    }
    var func = function () {
        form.submit();
    }
    setTimeout(func, 10000);    
}