javascript表单提交功能不提交

时间:2016-03-30 20:24:28

标签: javascript php html forms

以下是表格:

<form name="loginForm" id="loginForm" method="post">
    <!-- <label>UserName :</label> -->
    <input id="name" name="username" placeholder="username" type="text"  autofocus>
    <!-- <label>Password :</label> -->
    <!-- <input id="password" name="password" placeholder="**********" type="password"> -->
    <input name="submit" type="submit" value=" Login ">
</form>

脚本:

document.getElementById("name").addEventListener("keypress", submitForm);
function submitForm() { 
    // document.getElementById("loginForm").submit();
    document.forms.loginForm.submit();
    // alert("Yay, You got this far!");
}

函数submitForm被调用,但是除非按下return / enter,否则表单不会被提交。我已经尝试重命名提交输入,然后再次接受输入,似乎进行函数调用,但是它不是提交表单,而是简单地刷新表单并清除输入文本字段。

2 个答案:

答案 0 :(得分:0)

最好使用action属性。 顺便说一下,你应该用<form name="loginForm" id="loginForm" method="post" action="http://localhost:80/my_awesome_form_handler.php"> <input id="name" name="username" placeholder="username" type="text"/> <input name="submit" type="submit" value=" Login "/> </form>

关闭空元素
Tools > Options > Text Editor > C# > Advanced

答案 1 :(得分:0)

您不需要事件监听器。这应该适合你:

您的表单标记必须具有操作属性。将它指向处理表单的任何脚本。

<form name="loginForm" id="loginForm" method="post" action="script.php">
<!-- <label>UserName :</label> -->
<input id="name" name="username" placeholder="username" type="text"  autofocus>
<!-- <label>Password :</label> -->
<!-- <input id="password" name="password" placeholder="**********" type="password"> -->
<input name="submit" type="submit" value=" Login ">
</form>

对于javascript,使用jQuery:

jQuery(document).ready(function($) {
    $('#loginForm').on('submit', null, function() {
        $(this).submit();
    });
}

如果您每次在名称字段中输入字符时实际尝试提交表单,那么您可以执行以下操作:

jQuery(document).ready(function($) {
    $('#name').on('keyup', null, function(e) {
        e.preventDefault();
        $('#loginForm').submit();
    });
}