首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript未提交表单

JavaScript未提交表单
EN

Stack Overflow用户
提问于 2013-03-20 12:52:38
回答 4查看 2.7K关注 0票数 2

我花了一个小时左右的时间在这里和谷歌上搜索,但都没有成功。我有一个表格,我想通过邮寄提交。javascript可以正常运行和验证,甚至可以“提交”表单。但是,当它这样做时,它只是重新加载页面。不发送POST标头(使用Firefox中的Firebug确认)。就好像它只是简单地重新加载页面,而不是提交它。

此表单嵌入在addUser.php页面中。

代码语言:javascript
复制
<form action="addUser.php" method="post" name="NewUser">
<div data-role="field-contain">
    <label label-for="EmpID" class="ui-hidden-accessible">Enter Employee ID</label>
    <input name="EmpID" id="EmpID" placeholder="Employee ID" value="" autocomplete="off" title="Enter Employee ID" type="number" required autofocus>

    <label label-for="UserName" class="ui-hidden-accessible">Enter username</label>
    <input name="UserName" id="UserName" placeholder="Username" value="" autocomplete="off" title="Enter the new username" required>

    <p>
        <label label-for="NewPass1" class="ui-hidden-accessible">Enter Your Current Password</label>
        <input name="NewPass1" id="NewPass1" placeholder="New Password" value="" type="password" autocomplete="off" title="Must be at least 8 characters, with numbers and upper and lower case letters." required>
    </p>

    <p>
        <label label-for="NewPass2" class="ui-hidden-accessible">Enter Your Current Password</label>
        <input name="NewPass2" id="NewPass2" placeholder="Verify Password" value="" type="password" autocomplete="off" title="Re-enter your chosen new password." required>
    </p>
</div>
<button type="button" name="submitButton" value="submitButton" data-theme="d" data-inline="true" data-icon="check" data-iconpos="left" onclick="validateForm ()">
    Add User
</button>

这是Javascript:

代码语言:javascript
复制
function validateForm()
{
    var reason = "";

    reason += validateEmpID();
    reason += validateUserName();
    reason += validateNewPassword();

    if (reason != "") {
        alert("There are some errors with the data you entered:\n" + reason);
        return false;
    } else {
        document.NewUser.submit();
    }
}

我尝试了调用submit的各种不同方法,结果都是一样的。非常感谢您的帮助。

谢谢Gareth

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-20 12:58:01

为什么不使用AJAX帖子呢?或者更好的是一篇jQuery AJAX文章?

代码语言:javascript
复制
$.post(url, data, datatype);

http://api.jquery.com/jQuery.post/

票数 0
EN

Stack Overflow用户

发布于 2013-03-20 12:59:32

我觉得应该是

代码语言:javascript
复制
document.forms['NewUser'].submit();

代码语言:javascript
复制
document.forms.NewUser.submit();
票数 1
EN

Stack Overflow用户

发布于 2013-03-20 14:24:30

我认为您缺少添加return false,这就是您的浏览器要求重新加载表单的原因。更好的提交方式是使用提交按钮,而不是简单的按钮。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15515639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档