0

以下のコードをコピーした HTML/JAVASCRIPT ドキュメントに問題があります。

入力テキストボックスと関数 check() を実行するボタンを作成しました。コードはアラートを使用して適切に実行されますが、アラートをリンクに置き換えて、条件が満たされたときにユーザーを Web ページに誘導します。

私の例では、条件は 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送信ボタンが入っている は、ページがリダイレクトされる前に投稿されています。

データを投稿していないことを考えると、どちらのフォームも実際には必要ありません。スタイルを追加するために要素を何かで囲みたい場合は、div代わりに a を使用します。

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 に答える