从javascript中的表单字段创建URL

时间:2014-12-03 00:11:51

标签: javascript html5

所以,我是HTML和javascript的新手,我想从表单中获取值并使用脚本处理它们。我有几个字段,包括用户名,密码和HTML中的两个确认密码字段。使用javascript我想收集用户名,并检查密码字段是否已填写。如果是,我想使var ispass等于'yespass'或'nopass'。当我提交表单时,我想去网址http://www.example.com?un=username&pass=yespass(或nopass)。

使用Javascript:

<script language="javascript" type="text/javascript">
    function processFormData(){
        var user = document.getElementById('username').value;
        var pass = document.getElementById('password').value;
        var ispass;
          if (pass.length > 0){
          ispass = "yespass";
          }else{
          ispass = "nopass";
          }
        return "http://www.example.com?un=" + user + "&pw=" + ispass;
</script>

HTML:

<form onsubmit="window.location.href=processFormData();">
Please enter your current e-mail address and password below.<br><br>
<input type="text" id="username" placeholder="E-mail Address"><br><br>
<input type="password" id="oldpassword" placeholder="Old Password"><br><br><br>
Please type your new password below:<br><br>
<input type="password" id="newpassword1" placeholder="New Password"><br><br>
<input type="password" id="newpassword2" placeholder="Confirm New Password"><br><br>
<input type="submit" id="gobutton" value="Reset Password"/>
</form>

我无法找到一种正确的方法来做到这一点,因为这似乎根本不起作用。有什么建议或建议吗?

1 个答案:

答案 0 :(得分:0)

你可以使用隐藏的表单字段和onchange事件来解决此问题:

<input type="hidden" id="ispass" value="no" onchange="checkPass(this);" />

此输入将以您的形式提供。然后在您的密码字段中添加onchange处理程序:

function checkPass(input) {
    document.getElementById("ispass").value =  "yes"
};

此外,如果您在表单上设置method,则提交表单可以根据表单输入生成网址:

<form method='get' action='...' />

Here's a jsfiddle that demonstrates the result

此外,如果您不熟悉javascript,可能需要查看像jQuery这样的库,以简化您与该网页的某些互动。这真的很容易学习,周围有一个很好的社区来帮助解决你可能遇到的任何问题。

HTH, 亚伦