jqueryモバイルサイトを構築しています。ここにフォームを投稿してサイトをホームページにリダイレクトするための素晴らしいjavascriptがあります。私が持っている問題は、フォームに入っているにもかかわらず、送信された電子メールに挨拶が表示されず、「Mr」ボタンの下矢印がクリックされると「MR」と表示されるドロップダウンリストとしてサイトに表示されます。以下は、javascriptとフォームです。どんな援助も感謝して受け取ります。フォームでの挨拶のためのjavascript
JAVASCRIPT
<script type="text/javascript">
function setReqObj() {
var nAjax;
if(window.XMLHttpRequest) {
nAjax = new XMLHttpRequest();
} else {
nAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
return nAjax;
}
function _SubmitForm() {
var xmlhttp = setReqObj();
if(xmlhttp) {
xmlhttp.onreadystatechange=function() {
if(xmlhttp.readyState == 4) {
document.forms["contact-form"].reset();
$responseText = xmlhttp.responseText;
alert("Your query has been successfully submitted!");
document.location.href = "#home";
}
}
var $validEmail = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
var $name = document.forms["contact-form"]["Full_Name"].value;
var $comments = encodeURIComponent(document.forms["contact-form"]["Query"].value);
var $name2 = document.forms["contact-form"]["Phone"].value;
var $email = document.forms["contact-form"]["Email"].value;
if($name == "") {
alert("Please enter a valid name!");
return false;
}
if($comments.length <= 4) {
alert("Please enter a valid comment!");
return false;
}
if($name2 == "") {
alert("Please enter a valid phone number!");
return false;
}
if(!$email.match($validEmail)) {
alert("Please enter a valid email address!");
return false;
}
var $ajData = "Full_Name=" + $name + "&Query=" + $comments + "&Phone=" + $name2 + "&Email=" + $email;
xmlhttp.open("POST", "http://www.test.uk.com/cgi-bin/cgiemail/emailform2.txt", true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send($ajData);
} else {
document.forms["contact-form"].submit();
}
}
</script>
FORM
<fieldset data-role="ui-field-contain">
<div class="controlgroup">
<legend>Enquiry Form</legend><br>
<select name="salutation" id="salutation" >
<option value="Mr">Mr</option>
<option value="Mrs">Mrs</option>
<option value="Ms">Ms</option>
<option value="Miss">Miss</option>
</select>
<br>
<label for="fullname">Full name:</label>
<input type="text" name="Full_Name" id="fullname" />
<label for="query">Query:</label>
<textarea name="Query" id="query"></textarea>
<label for="phone">Phone Numbers:</label>
<textarea name="Phone" id="phone" ></textarea>
<label for="email">Email:</label>
<input type="text" name="Email" id="email" />
</div>
</fieldset>
- >
</form>
多くのおかげで、 Ruwak
こんにちは、両方のお返事のおかげで、残念なことにそれらのどれも働いた。私はそれらを間違った場所に配置している可能性があります。残りの電子メール、つまり名前、電子メールなどのために、他のvarコードの上に置いていますが、無駄です。
以下は、サーバー上のquery2テキストです。To:[email protected] Subject:query2 Salutation? [挨拶] [Mr] [Mrs] [Miss] Full Name? [Full_Name]クエリ? [問い合わせ]電話番号? [電話] E-mail? [メール] - Ruak – Ruak
申し訳ありません!最後にそれを動作させてくれました。それは私でした。「var $ ajData」行を追加したときに、元のファイルを削除するのを忘れました。 – Ruak