ページを離れることなく、ネイティブ アプリからライブ サーバーを介してフォームを処理しようとしています。以下は、フォーム、JQuery、および PHP に使用しているコードですが、送信すると、ページが空白になり、文字列が URL バーに表示されます。私のコードについて助けてもらえますか。読みやすくするためにフォームを短くしました。他にもたくさんのフィールドがあります。それらをすべてJavaScriptにリストする必要がありますか?
フォーム上の HTML
<form action="http://mobile.koolantkoolers.com/mailer.php" method="get">
<div data-role="fieldcontain">
<label for="name">Name:</label>
<input type="text" name="name" id="name" value="" />
</div>
<div data-role="fieldcontain">
<label for="email">Email:</label>
<input type="email" name="email" id="email" value="" />
</div>
<div data-role="fieldcontain">
<label for="company">Company:</label>
<textarea cols="40" rows="8" name="company" id="company"></textarea>
</div>
<input type="button" onclick="submit()" value="submit" data-icon="star" data-theme="b" />
</div>
</form>
JavaScript:
$.post('http://mobile.koolantkoolers.com/mailer.php', {
// These are the names of the form values
Name: $('name').val(),
Email: $('email').val(),
Company: $('company').val()
// HTML function
}, function (html) {
// Place the HTML in a astring
var response=html;
// PHP was done and email sent
if (response=="success") {
alert("Message sent!");
} else {
// Error postback
alert("Sorry please fill all fields!");
return false;
}
});
そしてPHP
<?php
// VARS
$Name=$_GET["name"];
$Email=$_GET["email"];
$Company=$_GET["company"];
$Headers = "From:" . $Email;
//VALIDATION
if(
$Name=="" ||
$Email=="" ||
$Company==""
) {
echo "Error";
} else {
mail("nnorman@dimplexthermal.com","mobile app message",$MessageText, $Headers);
echo "Success";
}
?>