IFrame から別のプロセッサ ファイルに送信された $.post 要求の結果に基づいてメッセージを表示しようとしています。
//begin script
function sendForm() {
$.post("http://www.website.com/main/post.php",$("#testForm").serialize(),function(data,status){
$("#result").html(data)
});
return false
}
$(document).ready(function() {
$("#testForm").submit(sendForm);
});
//end script
//form in an IFrame
//the IFrame is in a url like http://website.com/main/module/footer.php
<form id="testForm" method="post">
<label for="email">Enter your email</label>
<input id="email" name="email" type="text" required="yes" validate="email" message="Please enter a valid email address" class="replaceText" value="Enter your email"/>
<input id="subscribe" type="image" src="signup.png"/>
</form>
//this is where output from $.post request should be displayed
<div id="result"></div>
//end
私は次のことを試してみましたが、正常に動作し、$.post からのメッセージが表示され、
//scripts were disabled/commented out
//form in an IFrame
<form id="testForm" action="http://www.website.com/main/post.php" method="post">
<label for="email">Enter your email</label>
<input id="email" name="email" type="text" required="yes" validate="email" message="Please enter a valid email address" class="replaceText" value="Enter your email"/>
<input id="subscribe" type="image" src="signup.png"/>
</form>
<h5><div id="result"></div></h5>
ただし、フォームは IFrame 内にあるため、スクリプトからメッセージを表示する IFrame 全体を読み込みます。IFrame全体を台無しにすることなくメッセージを表示するだけで済みます。
注: IFrame を保持する必要があり、post.php ファイルを変更することはできません。
よろしくお願いします。