做一个jQuery Ajax提交,但它不起作用

时间:2017-01-25 22:45:10

标签: javascript jquery html ajax

我正在尝试执行ajax post请求,还要从URL读取JSON响应,但是如果我单击按钮则没有任何反应。我的HTML代码可能有什么问题,还是Javascript?目前函数submitRegister为空。

使用Javascript:

$('#registerForm').submit(function(event){
    event.preventDefault();
    submitRegister();
});

function submitRegister(){
    console.log("Test");
}

HTML

<div id="RegisterM" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Register</h4>
            </div>
            <div id='notification'>
            </div>
            <div class="modal-body">
                <form role="form" id="registerForm">
                    <div class="form-group">
                        <label for="Username">Username:</label>
                        <input type="Username" class="form-control" id="username">
                    </div>
                    <div class="form-group">
                        <label for="email">Email address:</label>
                        <input type="email" class="form-control" id="email">
                    </div>
                    <div class="form-group">
                        <label for="pwd">Password:</label>
                        <input type="password" class="form-control" id="pwd">
                    </div>
                    <div class="form-group">
                        <label for="confirmpwd">Confirm Password:</label>
                        <input type="confirmpwd" class="form-control" id="confirmpwd">
                    </div>
                    <button type="button" class="btn btn-default" id='register-submit'>Register</button>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>

    </div>
</div>

2 个答案:

答案 0 :(得分:0)

您的按钮必须是"submit"类型:

<button type="submit" class="btn btn-default" id='register-submit'>Register</button>

根据jQuery文档:

  

当用户尝试提交表单时,会将提交事件发送给元素。它只能附加到<form>元素。可以通过点击明确的<input type="submit"><input type="image"><button type="submit">或在某些表单元素具有焦点时按Enter键来提交表单。

答案 1 :(得分:0)

为什么你这么奇怪地发送ajax(提交 - &gt;阻止提交 - &gt;发送ajax)?而不是这样做:

$('#registerForm').submit(function(event){
event.preventDefault();
submitRegister();
});

function submitRegister(){
console.log("Test");
}

轻松创建输入

<input type="button" onclick="submitRegister()" vlaue="ajax" >

有很多事情会导致ajax请求出现问题。您可以非常仔细地编写代码并逐步查找问题的原因。