2011-08-23 11 views
6

こんにちは私は、これを動作させるためにいくつかの問題を抱えています。私がしたいことは、HTMLフォームが提出されてからdivを表示するだけです。フォームを送信した後に部門を非表示にする

<head> 

<script type="text/javascript"> 
function showHide() { 
    var div = document.getElementById(hidden_div); 
    if (div.style.display == 'none') { 
    div.style.display = ''; 
    } 
    else { 
    div.style.display = 'none'; 
    } 
} 
</script> 

</head> 


<body> 

<form method="post" name="installer"> 

<label>Home Keyword</label> 
<br /> 
<input type="text" name="hello" value=""> 
<br /> 
<input type="submit" value="" name="submit" onsubmit="showHide()"> 

</form> 

<div id="hidden_div" style="display:none"> 
<p>Show me when form is submitted :) </p> 
</div> 

</body> 

任意の助けもいただければ幸いですありがとうございました:)

+0

を述べたように、あなたも引用符が欠落している代わりにinput

<form method="post" name="installer" onsubmit="showHide()"> 

の形onsubmitshowhide機能を配置する必要があります。また、フォームのsubmitメソッドを隠すので、 "submit"をフォームコントロール名として使用しないでください。上記では、* form.submit *はメソッドを参照するのではなく、コントロールを参照するので、それを呼び出すとエラーが発生します。 – RobG

答えて

16

私はあなたがちょうどあなたのdocument.getElementById("hidden_div")コールで「hidden_​​div」の前後に引用符を逃していると思います!

実際には、あなたのページはおそらくページの状態をリセットしているため、hidden_​​divはいつも隠れた状態になっています.AJAX経由でフォームの提出を処理するつもりですか?

あなたが意図した動作を確認したい場合は、<form>要素にshowHide()コールを移動し、それの後にfalseを返す必要があります:

<form method="post" name="installer" onsubmit="showHide(); return false;"> 

とsubmitボタンを残すよう:

<input type="submit" value="" name="submit" /> 

<input />ボタンタグを自己クローズしていないか、内部に表示するテキストがあることにも注意してください。

+0

ありがとうありがとうありがとうコリはそうするトリックとハハを行うようですはい私の元のコード内の引用符を持っていますが、彼らは翻訳で失われた、私は自分のコーヒーを補充する必要があると思う:P – Jessica

+0

入力を "閉じる"タグでは、OPはXHTMLが使用されていることを示しておらず、Web上で使用することは非常にまれです。 – RobG

+0

@RobG:私は彼女が '
'タグでそうしていたという事実から推測しましたが、あなたは正しいかもしれません。 –

2

フォームにonSubmit検証属性を移動@Coryが

関連する問題