相关疑难解决方法(0)

event.preventDefault()与return false

当我想在某个事件被触发后阻止其他事件处理程序执行时,我可以使用两种技术之一.我将在示例中使用jQuery,但这也适用于plain-JS:

1. event.preventDefault()

$('a').click(function (e) {
    // custom handling here
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

2. return false

$('a').click(function () {
    // custom handling here
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这两种停止事件传播的方法之间有什么显着差异吗?

对我来说,return false;比执行方法更简单,更短并且可能更不容易出错.使用该方法,您必须记住正确的套管,括号等.

另外,我必须在回调中定义第一个参数才能调用该方法.也许,有一些原因可以解释为什么我应该避免这样做并使用preventDefault呢?有什么更好的方法?

javascript jquery event-handling event-propagation dom-events

2891
推荐指数
9
解决办法
81万
查看次数

如果验证失败,如何停止表单提交

更新:我的问题更多的是 How to prevent the form submit if the validation fails

该链接无法解决我的问题

只是重新迭代我正在做的事情:我有一个带有大量输入字段的表单,当用户点击提交按钮时,required="required"如果表单验证失败则使用属性验证表单然后我想停止提交表单,因为你看到了javascript它会在用户提交表单时显示div.

希望这清除.

结束更新

如果表单验证失败,如何停止表单提交?

<input class="form-control" data-val="true" id="SerialNumber" name="SerialNumber" required="required" type="text">

<button type="submit" name="rsubmit" class="btn btn-success">Submit</button>

 //loading message:
 $("form").submit(function (e) {
     $("#loading").show();
 }); 
Run Code Online (Sandbox Code Playgroud)

javascript forms model-view-controller jquery

11
推荐指数
2
解决办法
4万
查看次数

提交jquery后不要重新加载

我有问题用jquery实现"不要在提交后重新加载".同样的HTML代码也是名字.我发布限制代码,但名称选择值也相同.有人可以让我在这里实施吗?

jQuery的

    <script type='text/javascript'>
$(document).ready(function() {

// process the form
$('form').submit(function(event) {

    var formData = {
        'name'              : $('input[id=select_name]').val(),
        'limit'             : $('input[id=select_limit]').val()
    };

    $.post('index.php?cat=fthome', function(formData) {

})
        .done(function(data) {
            console.log(data);
        });
    event.preventDefault();
});

});
    </script>
Run Code Online (Sandbox Code Playgroud)

HTML

<input class="btn-select-input" id="select_limit" name="limit" type="hidden">
<span class="btn-select-value">All names</span>
<ul name="limit">
<li <?if ($_POST['limit']=="12") echo 'class="selected"'?>>12</li>
<li <?if ($_POST['limit']=="6") echo 'class="selected"'?>>6</li>
<li <?if ($_POST['limit']=="4") echo 'class="selected"'?>>4</li>
</ul>

<button id="js-trigger-overlay" type="submit" class="btn btn-success">Search</button>
Run Code Online (Sandbox Code Playgroud)

html javascript php jquery

-1
推荐指数
1
解决办法
161
查看次数