0

我的 HTML/JAVASCRIPT 文档有问题,我复制了下面的代码。

我创建了一个输入文本框和一个运行函数 check() 的按钮。该代码通过使用警报可以很好地执行,但是当我将警报替换为一个链接时,该链接将在满足条件时将用户引导至网页。

在我的示例中,条件是 40。

我有一个链接到文档的外部样式表和一个外部 Javascript 脚本。

谢谢...

编辑- 这可能更容易我已经制作了一个简单的文件,其中包含我想要在下面执行的所有代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<script type="text/javascript">
function check (){
    var codeEntered = document.getElementById("promocode").value;
      if (codeEntered==40)
  {
 //alert ("work")
 window.location.assign = "http://www.w3schools.com";
  }
  else if (codeEntered == "")
  {
  alert ("Please Enter a Promotional Code.")  
  }
  else
  {
  alert ("Promotional code incorrect")
  }
}
</script>

<body>
<form id="form3" name="form3" method="post" action="">
      <label for="promocode">Promotional Code:</label>
      <input type="text" name="promocode" id="promocode" />
    </form>
    <p></p>

<p>&nbsp;</p>
<form id="form1" name="form1" method="post" action="">
  <input type="submit" name="Submit" id="Submit" value="Submit Code" onclick="check()" />
</form>
</body>
</html>
4

4 回答 4

1

您正在尝试将 window.location 属性设置为 html 锚元素,而不是将其设置为要将页面发送到的位置。

试试这个:

window.location = "http://www.w3schools.com";
于 2013-05-10T09:31:19.963 回答
1

您的提交按钮所在的form那个,在页面有机会重定向之前发布。

鉴于您没有发布任何数据,因此您实际上不需要任何一种表格。如果你想用一些东西包围元素以添加样式,请使用 adiv代替。

请注意,window.location.assign已更改为window.location也。

<script type="text/javascript">
function check(){
  var codeEntered = document.getElementById("promocode").value;
  if (codeEntered==40)
  {
    window.location = "http://www.w3schools.com";
  }
  else if(codeEntered == "")
  {
    alert("Please Enter a Promotional Code.")  
  }
  else
  {
    alert("Promotional code incorrect")
  }
}
</script>

<body>
      <label for="promocode">Promotional Code:</label>
      <input type="text" name="promocode" id="promocode" />

  <p>&nbsp;</p>

  <button type="button" value="Submit Code" onclick="check()" >Submit Code</button>

</body>
</html>
于 2013-05-10T10:08:24.677 回答
0

尝试这个

window.location.assign("http://www.w3schools.com")

或者

编辑:

window.open('http://www.w3schools.com','_self',false)
于 2013-05-10T09:28:26.370 回答
0

尝试这个:

location.href="http://www.w3schools.com";

分配属性可能比调用函数更快。

访问http://jsperf.com/location-href-vs-location-assign了解更多详情。

您还需要包含“return false;” 在你的 JS 函数中:

并像这样拨打电话:

<input type="submit" name="Submit" id="Submit" value="Submit Code" onclick="**return** check();" />

和javascript函数是这样的:

function check() {
        window.location.href = "http://www.w3schools.com" ;
        return false;
    }
于 2013-05-10T09:46:07.607 回答