0

フォームを送信するための 2 つの手段が必要なフォームがあります。最初の方法は、標準の送信ボタンを使用することです。これはうまくいきます。2 番目の方法は、最初にページを印刷し、次に警告を表示し、最後にフォームを送信することになっています。この 2 番目の方法は、私が助けを必要とする場所です。

2 番目の方法では、「printpage」関数を呼び出すフォームにボタンがあります。この関数は、ページを印刷し、警告を表示してから、フォームを送信することになっています。フォームの送信以外のすべてを行います。理由を理解するための助けをいただければ幸いです。

htm ページのコードを以下に示します。

<body>
<script type="text/javascript"> 

function printpage()
{
    if (MbrForm_Validator(document.forms["MbrForm"]))
    {
    window.print();
    alert("Thank you for your support of the Friends. Please mail your form and check to the address shown on the printed        page.");
//***********************************************************************************
//***********************************************************************************
//this is the line of code that does not work for me        
        document.forms["MbrForm"].submit();
//***********************************************************************************
//***********************************************************************************
    }
}

function MbrForm_Validator(theform)
{
//removed for brevity
}
</script>

        <h1>Membership Application</h1>
        <p style="margin:0px;text-size:9px;"><sup class="required">*</sup>Denotes required information</p>
        <form id="MbrForm" name="MbrForm" method="post" action="membertest.php" onsubmit="return MbrForm_Validator(this)" target="_blank">

簡潔にするために、フォーム自体の内容は削除されています。送信ボタンと印刷ボタンだけが残る

            <table width="75%" border="0" align="center" cellspacing="5" class="displayonly">
                <caption style="border-bottom:black solid 1px;">
                    How Would You Like to Pay? 
                </caption>
                <tr>
                    <td width="49%" valign="top">
                        With a check<br />
                        Click the "Print" button below to print this form for mailing in with your check.
                    </td>
                    <td width="51%" valign="top">
                        On-Line with a Credit Card<br />
                        Click the "Submit" button below to submit your information and pay using a credit card or PayPal.
                    </td>
                </tr>
                <tr>
                    <td>
                        <div align="left">
                            <input type="button" name="btnprint" id="btnprint" value="Print" onclick="printpage()" />
                        </div>
                    </td>
                    <td>
                        <div align="left">
                            <input type="submit" name="submit" id="submit" value="Submit" />
                        </div>
                    </td>
                </tr>
            </table>

        </form>
        <div class="printonly">
            <p>
                <br /><br /><br /><br /><br />
                <hr />
                Mail with your check to:<br />
            </p>
        </div>
    </div>


</div>
</body>
4

2 に答える 2

2
<input type="submit" name="submit" id="submit" value="Submit" />

これは問題です。name="submit" を削除すると、機能するはずです。name 属性を持つ各フォーム要素も、フォーム オブジェクトにプロパティを作成します。この要素は、フォームの送信メソッドを上書きするプロパティ「送信」を作成します。

于 2013-11-08T23:19:13.953 に答える