2

クエリに似た多くの投稿を調べましたが、一般的に、それらは役に立ちません。私の問題の一部は、私が JavaScript に慣れていないため、以前の投稿の多くが私には複雑すぎることだと思います。以下の簡単なコードがありますが、動作していないようです。関数が「true」を返すはずなのに、フォームが送信されていないと思います。エラー コンソールを確認しましたが、エラーはありません。誰か助けてくれませんか?

JavaScript:

function submit()
{

var age = document.Message.Age.value;

if (age > 39)
{
    alert("You're old.");
    return false;
}

else
{
    alert("You're young!");
    return true;
}

} 

HTML:

<FORM id = "Message" name = "Message" method = "post" action = "http://cnn.com" onsubmit = "return submit();">

First Name: <INPUT type = "text" name = "Fname"/><br>
Age: <INPUT type = "text" name = "Age"/><br>
<INPUT type="button" name = "Submit" value = "Submit">


</FORM>
4

2 に答える 2

1

HTML を次のように変更します

<FORM id = "Message" name = "Message" method = "post" action = "http://cnn.com" onsubmit = "return submit();">

First Name: <INPUT type = "text" name = "Fname"/><br>
Age: <INPUT type = "text" name = "Age"/><br>
<INPUT type="submit" name = "Submit" value = "Submit">


</FORM>

実際に送信が行われるように、入力タイプが「送信」に変更されていることに注意してください。

于 2012-10-20T19:11:06.660 に答える
-1

あなたのJavaScript関数自体が呼び出されているかどうかは疑問です。そうでない場合は、タグからonsubmitタグに移動する必要があると思います。なので<body><form>

 <body onsubmit"return submit();">

また、ボタンを type as に変更するか、以下にイベントsubmitを追加します。onClick()

 <INPUT type="submit" name = "Submit" value = "Submit"/>

また

 <INPUT type="button" name = "Submit" value = "Submit" onClick="submit()"/>

以下は、完全な作業コード (Chrome および IE8) のサンプルです。

<Html>
 <head>
   <script language="javascript">
   function submit(){
     var age = document.Message.Age.value;
     if (age > 39){
        alert("You're old.");
        return false;
     }else{
        alert("You're young!");
        return true;
     }
   } 
   </script>
  </head>
  <body>
  <FORM id = "Message" name = "Message" method = "post" 
               action = "http://cnn.com" onSubmit = "javascript:return submit();">
    First Name: <INPUT type = "text" name = "Fname"/><br>
    Age: <INPUT type = "text" name = "Age"/><br>
    <INPUT type="submit" name = "Submit" value = "Submit"/>
   </FORM>
  </body>
</html>
于 2012-10-20T19:15:10.493 に答える