Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 为什么';返回false';提交事件中的声明?_Javascript_Jquery_Javascript Events - Fatal编程技术网

Javascript 为什么';返回false';提交事件中的声明?

Javascript 为什么';返回false';提交事件中的声明?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我想知道返回false的确切原因是什么语句在这个Pig拉丁翻译程序中做什么?通过删除它,我可以看到页面似乎自动刷新(立即擦除“翻译”而不是离开它),但我不理解其中的机制。发生什么事?我不认为有必要用HTML或JS来回答我的问题,但是如果我错了,请告诉我,我会把它粘贴进去 jQuery: $(function() { $("form#translator").submit(function() { var englishWord = $("input#word").va

我想知道
返回false的确切原因是什么语句在这个Pig拉丁翻译程序中做什么?通过删除它,我可以看到页面似乎自动刷新(立即擦除“翻译”而不是离开它),但我不理解其中的机制。发生什么事?我不认为有必要用HTML或JS来回答我的问题,但是如果我错了,请告诉我,我会把它粘贴进去

jQuery:

$(function() {  
    $("form#translator").submit(function() {
        var englishWord = $("input#word").val();
        var translatedWord = englishToPigLatin(englishWord);

        $("#english").append(englishWord);
        $("#pig-latin").append(translatedWord);

        $("#translation").show();
        return false;
    });
});

谢谢

在创建表单时,您正在执行函数。通过返回false,可以有效地禁用表单提交,这样页面就不会被提交到服务器

如果您确实提交到服务器,服务器将返回新页面,您的javascript更改实际上将消失,直到您再次单击提交按钮

或者,您可以使用此选项,而不是返回false:

your_form.submit(function(e){
    e.preventDefault();
});
与:

your_form.submit(function(e){
    return false;
});

当窗体正在运行时,您正在执行该函数。通过返回false,可以有效地禁用表单提交,这样页面就不会被提交到服务器

如果您确实提交到服务器,服务器将返回新页面,您的javascript更改实际上将消失,直到您再次单击提交按钮

或者,您可以使用此选项,而不是返回false:

your_form.submit(function(e){
    e.preventDefault();
});
与:

your_form.submit(function(e){
    return false;
});
从(我的)重点:

现在,当表单提交时,消息将发出警报。这发生在实际提交之前,因此我们可以通过调用事件对象上的
.preventDefault()
来取消提交操作,或者通过从处理程序返回
false
来取消提交操作

因此,返回
false
会阻止默认操作(在本例中为表单提交),但也会停止事件的传播。这相当于打电话和打电话


您似乎不知道表单是如何处理的:

提交表单时,浏览器对表单的
操作
属性中提供的URL发出GET或POST请求,即它将加载该URL。如果未提供
action
属性,则将向当前URL发出请求,该URL将有效地重新加载页面(但也会向服务器发送数据)

有关更多信息,请参阅(重点矿山)中的。

现在,当表单提交时,消息将发出警报。这发生在实际提交之前,因此我们可以通过调用事件对象上的
.preventDefault()
来取消提交操作,或者通过从处理程序返回
false
来取消提交操作

因此,返回
false
会阻止默认操作(在本例中为表单提交),但也会停止事件的传播。这相当于打电话和打电话


您似乎不知道表单是如何处理的:

提交表单时,浏览器对表单的
操作
属性中提供的URL发出GET或POST请求,即它将加载该URL。如果未提供
action
属性,则将向当前URL发出请求,该URL将有效地重新加载页面(但也会向服务器发送数据)


有关详细信息,请参见。

按“返回错误”,表单将被执行,但您的页面不会重新加载/刷新。

按“返回错误”,表单将被执行,但您的页面不会重新加载/刷新。

这表示浏览器应取消
提交()
并且不将数据发送到服务器。
返回:在处理事件的函数中为false
将导致该事件可能导致的默认操作(在本例中为提交表单)被中止。一种更“现代”的方法是
event.preventDefault
。哦。。。因此,submit()功能的一部分是在表单完成后刷新表单?这与值得一读的内容密切相关:它表示浏览器应该取消
submit()
,而不将数据发送到服务器。
return:false在处理事件的函数中导致该事件可能导致的默认操作(在本例中:提交表单)被中止。一种更“现代”的方式是
event.preventDefault
。哦……提交()功能的一部分是在表单完成后刷新表单吗?这与值得一读的内容密切相关: