繁体   English   中英

根据Jquery / Javascript中的表单提交重定向页面?

[英]Redirect page depending on form submission in Jquery/Javascript?

我正在开发一个页面,该页面应根据用户在表单中输入的内容进行重定向,但似乎无法弄清楚。 Java语言新手,渴望学习!

这是html:

<body>
<div id="header">
    <div id="navcontainer">
        <ul>
            <li> <a href="#item1">Home</a> </li>
            <li> <a href="#item2">Scents</a> </li>
            <li> <a href="#item3">About</a> </li>
            <li> <a href="#item4">Contact</a> </li>
        </ul>
    </div>  
</div>
<div id="content">
        <p>Hi, how are you feeling today?</p>
        <form> <input id="feels" type="text" name="feeling" size="35" onchange="checkfeels(#feels.value);"> 
        <input type="submit" value="submit" >
        </form>
</div>

到目前为止,我拥有的Javascript:

function checkfeels(myFeels) {
        switch (myFeels) 
        {
        case "good":
            document.location.href = 'scents.html';
            break
        case "bad":
            alert(2);
            document.location.href = 'scents2.html';
        default: 
            alert("whatever");
        }
    }

非常感谢您的任何帮助,谢谢!

放在

return checkfeels(this.elements.feeling.value)

形式为onsubmit属性。

当前情况下的“感觉”是输入字段的名称。 在代码中<input type =“ text” name =“ feeling”>。

并添加

return false;

到checkfeels函数的末尾,以防止执行默认操作(将表单提交给服务器)。

另外,您可以传递完整的函数形式,例如:

return checkfeels(this)

并已在checkfeels功能中以整体形式工作。

function checkfeels(form) {
   var feeling = form.elements.feeling.value;
   var otherField = form.elements.otherField.value;

   // code with your logic here

   return false; // prevent default action
}

输入以下代码:

checkfeels($('#feels').val());
return false;

形式为onsubmit属性。

您无法使用#feels.value来获得用户键入的内容(似乎在jQuery语法和javascript之间犯了一个错误)。

您可以使用纯JavaScript来做到这一点:

function checkfeels() {
    var myFeels = document.getElementById('feels').value;
    switch (myFeels) {
        case "good":
            document.location.href = 'scents.html';
            break
        case "bad":
            alert(2);
            document.location.href = 'scents2.html';
        default: 
            alert("whatever");
    }
}

您将获得用户输入的内容:

document.getElementById('feels').value
并且您不需要为该函数提供任何参数。

如果您使用jQuery,则可以使用以下方法获取值:

  $('#feels')。val(); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM