验证3个输入字段后,按钮不会将我带到下一个URL

时间:2014-10-03 03:29:46

标签: javascript html5 if-statement

我正在尝试从用户那里获得所有3个输入,按钮会在单击时将它们带到下一页。我已经创建了一个if-else语句来检查3个输入字段,它可以工作。但是,当我点击按钮时,它不会将我带到下一个或URL。

function calcBody() 
{
    var b=document.forms["input"]["bust"].value;
    var w=document.forms["input"]["waist"].value;
    var h=document.forms["input"]["hips"].value;

    if (b == null || b == "", w == null || w == "", h == null || h == "")
    {
        alert("Please Fill All Required Field");
    }
    else
    {
        window.location = "http://www.google.com";
    }
}

3 个答案:

答案 0 :(得分:2)

阻止您的表单提交:

<input id="bigbutton" type="submit" value="Go to recommendation" onClick="return calcBody()"/>

并在您的脚本中

function calcBody() 
{
    var b=document.forms["input"]["bust"].value;
    var w=document.forms["input"]["waist"].value;
    var h=document.forms["input"]["hips"].value;

    if (b == null || b == "", w == null || w == "", h == null || h == "")
    {
        alert("Please Fill All Required Field");
    }
    else
    {
        window.location.href = "http://www.google.com";
    }
    return false
}

OR

将输入类型提交更改为按钮

<input id="bigbutton" type="button" value="Go to recommendation" onClick="return calcBody()"/>

答案 1 :(得分:0)

尝试window.location.href = "http://www.google.com"并确保所点击的元素没有自己的默认操作导致奇怪的行为。

function calcBody() 
{
    var b=document.forms["input"]["bust"].value;
    var w=document.forms["input"]["waist"].value;
    var h=document.forms["input"]["hips"].value;

    if (b == null || b == "", w == null || w == "", h == null || h == "")
    {
        alert("Please Fill All Required Field");
    }
    else
    {
        window.location.href = "http://www.google.com";
    }
}

答案 2 :(得分:0)

您还没有发布HTML,这是我刚刚测试过的一个工作示例:

<form name="input" action="#" method="post">
    bust: <input type="text" name="bust"><br/>
    waist: <input type="text" name="waist"><br/>
    hips: <input type="text" name="hips">
    <input type="submit" value="Submit" onclick="calcBody();return false;">
</form> 

JavaScript

function calcBody() 
{
    var b=document.forms["input"]["bust"].value;
    var w=document.forms["input"]["waist"].value;
    var h=document.forms["input"]["hips"].value;

    if (b == null || b == "" || w == null || w == "" || h == null || h == "")
    {
        alert("Please Fill All Required Field");
    }
    else
    {
        window.location = "http://www.google.com";
    }
}

此代码有效,但实际上如果您想从浏览器重定向而不使用form,请将所有三个<inputs>放入div并添加<button>到处理他们/