私は予約ページフォームに取り組んでいます。クライアントが情報を入力する単一のフォームと、下部にある 2 つの送信ボタンが必要です。最初のボタンは、データをメールで送信し、ユーザーを静的な html ページにリダイレクトする必要があります。2 番目のボタンもデータをメールで送信し、ユーザーをチェックアウト ページにリダイレクトする必要があります。
まず、この方法で送信ボタンを 2 つ持つことは可能なのでしょうか? 同意/同意しないボタンがあることについての投稿を見たことがあります。同意しないボタンは多かれ少なかれフォームをキャンセルし、同意するボタンはデータを渡します。データを渡すには両方のボタンが必要ですが、ポスト アクションが異なります。
次に、フォームに無料のキャプチャを挿入しました。メールの受信箱にボットからの返信が来るのにうんざりしています。1つの送信ボタンでキャプチャがうまく機能しています。しかし、私は2つの送信ボタンでキャプチャを実装する方法について完全に途方に暮れています.
これが私のコードで、キャプチャと1つの送信ボタンが機能しています(もう1つのボタンはまだ「接続」されておらず、機能していません):
<h2>Traveler Information</h2>
<form action="http://www.SnapHost.com/captcha/send.aspx" method="post" id="mpNOV">
<input type="hidden" id="skip_WhereToSend" name="skip_WhereToSend" value="my@email.com" />
<input type="hidden" id="skip_Subject" name="skip_Subject" value="Reservation" />
<input type="hidden" id="skip_WhereToReturn" name="skip_WhereToReturn" value="confirm.shtml" />
<input type="hidden" id="skip_SnapHostID" name="skip_SnapHostID" value="xxx" />
<!-- form start -->
<table width="558" border="0" cellpadding="2" cellspacing="0">
<tr>
<td width="214" align="right"># of Travelers</td>
<td width="344">
<select name="travelers" id="travelers">
<option value="1" selected="selected">1</option>
<option value="2">2</option>
</select>
</td>
</tr>
<tr>
<td align="right">Room type</td>
<td valign="top">
<select name="room" id="room">
<option value="" selected="selected">Select...</option>
<option value="single">Single (1 bed)</option>
<option value="double">Double (2 beds)</option>
<option value="doublePlus">Superior Double (2 beds)</option>
</select>
</td>
</tr>
</table>
<!-- form end -->
<!-- captcha start -->
<table border="0" align="center" cellpadding="2" cellspacing="0" style="background-color:#b9558b;">
<tr valign="bottom">
<td style="padding: 0 4px 8px 8px;">
<a href="#" onclick="return ReloadCaptchaImage('CaptchaImage');" style="font-size:11px;color: #000;">reload image</a><br />
<a href="http://www.SnapHost.com"><img id="CaptchaImage" alt="Captcha Code" style="border-width:0px;" title="This Captcha image is intended to prevent spam. The Captcha code is generated by an online form processor. To submit this form, enter the code into the text field. For more information click on the Captcha image." src="http://www.SnapHost.com/captcha/CaptchaImage.aspx?id=PR64FH7HK8F7" /></a>
</td>
<td style="padding: 0 8px 8px 4px;">
<span style="color: #fff;"><i>Enter security code:</i></span><br />
<input id="skip_CaptchaCode" name="skip_CaptchaCode" type="text" style="width:130px; height:64px; font-size:38px;" maxlength="6" />
</td>
</tr>
<tr>
<td colspan="2" align="center" style="background-color: #fff;">
<a href="http://www.SnapHost.com" style="text-decoration:none; font-size:11px; font-family:Verdana, Arial, Helvetica; color:#000099;">This web form is protected from SPAM by <span style="text-decoration:underline;">SnapHost.com</span></a></td>
</tr>
</table>
<script type="text/javascript">
function ReloadCaptchaImage(captchaImageId)
{
var obj = document.getElementById(captchaImageId);
var src = obj.src;
var date = new Date();
var pos = src.indexOf('&rad=');
if (pos >= 0)
{
src = src.substr(0, pos);
}
obj.src = src + '&rad=' + date.getTime();
return false; }
</script>
<!-- end captcha -->
<!-- start submit buttons -->
<table width="558" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="55%" align="right" style="padding-top:10px; padding-bottom:10px; border-top: 1px solid #6f3957;">
<input type="submit" name="bookMP-nov" value="Hold my reservation" class="submit" />
</td>
<td width="45%" style="padding-top:10px; padding-bottom:10px; border-top: 1px solid #6f3957;">
<input type="submit" name="bookMP-nov" value="Book Now!" class="submit" />
</td>
</tr>
</table>
<!-- end submit buttons -->
彼らのウェブサイトによると、キャプチャは同じページで複数回使用できます。私は SnapHost.com で使用されている画像が本当に気に入っています。私のクライアントの多くは古いものであり、これらは私が出会った中で最も読みやすい画像です。そのため、SnapHost を使い続けて二重送信を達成できることを願っています。ボタンが必要です。
(A)これが実行可能かどうか、および(B)一緒に機能する二重送信ボタン/キャプチャのコーディングを開始する場所について誰かがアイデアを持っている場合は、本当に助けていただければ幸いです!! php (何も知らない) が必要なのか、javascript や jQuery (少し知っている) が必要なのか、それとも完全に何か他のものが必要なのかはわかりません。ありがとうございました!!
アップデート
このコードを試してみましたが、正しいページにリダイレクトされますが、キャプチャが検証されず、フォームの結果が返されません。一瞬だけ希望が持てましたが、地面に激突して戻ってきました!
<input type="submit" onclick="var e = document.getElementById('mpNOV'); e.action='mp-NOVconfirm.shtml'; e.submit();" value="Hold my reservation" class="submit"></td>
<td width="45%" style="padding-top:10px; padding-bottom:10px; border-top: 1px solid #6f3957;">
<input type="submit" onclick="var e = document.getElementById('mpNOV'); e.action='../../index.shtml'; e.submit();" value="Book Now!" class="submit">
これも削除しました
input type="hidden" id="skip_WhereToReturn" name="skip_WhereToReturn" value="http://www.happywivestravel.com/tours/machupicchu/mp-NOVconfirm.shtml"
入力タグの onClick 関数に置き換えられると考えて、フォームの上部からコードを変更しますが、明らかにそれはここでの答えではありません。
私は素敵な簡単な修正を望んでいましたが、そうではありませんでした。他のアイデアを持っている人はいますか?