ネストされたマスター ページを持つ asp.net ページがあります。親マスター ページには、次のようなフォーム タグがあります。
<form runat="server">
...
....
</form>
および子マスターページで。次のような別のフォーム(runat = serverではありません)があるサイドバーがあります:
<form method="post" action="https://app.icontact.com/icp/signup.php" name="icpsignup" id="icpsignup3297" accept-charset="UTF-8" onsubmit="return verifyRequired3297();" >
<input type="hidden" name="redirect" value="http://www.abconline.com/newsletter-sign-up.aspx">
<input type="hidden" name="errorredirect" value="http://www.icontact.com/www/signup/error.html">
....
....
....
<input type="submit" name="Submit" value="Get Deals">
</form>
<script type="text/javascript">
var icpForm3297 = document.getElementById('icpsignup3297');
if (document.location.protocol === "https:")
icpForm3297.action = "https://app.icontact.com/icp/signup.php";
function verifyRequired3297() {
if (icpForm3297["fields_email"].value == "") {
icpForm3297["fields_email"].focus();
alert("The Email field is required.");
return false;
}
return true;
}
</script>
しかし、送信ボタンを押すと、ポストバックが発生しますが、javascript 関数は呼び出されず、フォームは子マスター ページの投稿 URL にリダイレクトされません。マスター ページのないスタンドアロン ページでこのフォームを使用すると、問題なく動作します。
子マスターページ内のフォームを強制的に投稿 URL に移動する方法を提案してください。