私は webdesign/php と javascript の初心者で、問題を抱えています。このコードを見てください:
<script type="text/javascript">
<!--
function thanksDiv(){
document.getElementById("myThanksDiv").style.display ='block';
}
function hideDiv(id){
document.getElementById(id).style.display='none';
}
//-->
</script>
<form id="contacts-form" method="post" action="email.php" target="myiframe">
<fieldset>
<div class="alignright"><a href="#" onClick="document.getElementById('contacts-form').submit()">Send Your Message!</a></div>
</fieldset>
</form>
<iframe name="myiframe" id="myiframe" src="" width=1 height=1 style="visibility:hidden;position:absolute;"></iframe>
<div id="myThanksDiv" style="width:200px;height:150px;position:absolute;left:50%; top:20px; margin-left:-100px;border:1px solid black; background:#fff;display:none;padding:20px;">Thanks! <br />Your message was sent.</div>
そしてemail.phpで:
echo '<script type="text/javascript">'
, thanksDiv();'
, '</script>';
?>
「メッセージを送信」をクリックすると、「メッセージが送信されました」というボックスが表示されるはずですが、表示されません。
email.php ページを通過せず、フォーム送信リンクから thankDiv を呼び出すだけで機能します。理由はありますか?