私はjQueryモバイルのUIを使用しているHTMLのメインページを持っています。どこか私は投票フォームのようなものであるのフォームを持っているHTMLページ上:私が持っているjQuery Mobileページ内でフォームを送信するにはどうすればいいですか?
<?php
$connection = mysql_connect("localhost","root","myPassword");
if(!$connection){ die('Could not connect: ' . mysql_error()); }
mysql_select_db("mydatabase", $connection);
if ($_POST['rc1'] == 'Audi')
{
mysql_query("
UPDATE carvote
SET votes = votes + 1
WHERE Brands = 'Audi'
",$connection);
echo "success Audi within if";
}
if ($_POST['rc1'] == 'BMW')
{
mysql_query("
UPDATE carvote
SET votes = votes + 1
WHERE Brands = 'BMW'
",$connection);
echo "success BMW within if";
}
if ($_POST['rc1'] == 'Mercedes')
{
mysql_query("
UPDATE carvote
SET votes = votes + 1
WHERE Brands = 'Mercedes'
",$connection);
echo "success Mercedes within if";
}
mysql_close($connection);
?>
:
<form name = "vote" action = "logicDB.php" method = "post">
<center>
<h3>Watch our videos above and share your opinion which manufacturer produces the best sport sedans</h3>
<fieldset style = "width:60%;">
<legend>Choose a car:</legend>
<input type = "radio" name = "rc1" id = "radio-choice-1" value = "Audi"/>
<input type = "radio" name = "rc1" id = "radio-choice-2" value = "BMW"/>
<input type = "radio" name = "rc1" id = "radio-choice-3" value = "Mercedes"/>
</fieldset>
<input value = "SUBMIT" type = "submit" />
</center>
</form>
フォームのactionパラメータは、このロジックを持っている私のPHPファイルを呼び出しています私のWAMP localhostサーバーで作成されたデータベースで、このPHPコードは、フォームから選択して送信するラジオオプションに応じてデータベースに書き込みます。 PHPのこれらのエコーは決して到達しません。
問題は、送信をクリックすると、左上隅に「未定義」という白い画面が表示され、その後は何もデータベースに書き込まれないということです。私は、htmlメインページからトップにjQueryモバイルを呼び出す行を削除すると、すべてが正常に動作しており、データがデータベースに書き込まれている(PHPのエコーに達している)ことがわかりました。 jQuery Mobileは私のPHPコードと互換性がないようです。私はこれをどのように修正すべきですか? ありがとうございます!
UPDATED(私はそれが動作製): ここでは、私は、フォームに変更するものである:
<form id = "ContactForm" onsubmit="return submitForm();">
データベースとPHPファイルは同じまま。それ以外は、私はまた、Ajaxコードを追加しました:
function submitForm()
{
$.ajax({type:'POST', url: 'logicDB.php', data:$('#ContactForm').serialize(), success: function(response)
{
$('#ContactForm').find('.form_result').html(response);
}});
return false;
}
summerizeするには:jQueryのモバイルページ(データ-役割=「ページ」を持つdiv要素内のページ)がONLY AJAX経由submitedすることができます。そうでなければ動作しません。 トピックを私の質問に変更し、より多くの人々がそれに到達できるようにします。
上記で提供したものとは別に、 'logicDB.php'ファイルで' echo'/'print_r'文を探します。 –
jQueryは表示されませんか?これがなければ、何が起こっているのかわかりません。 –
こんにちはBibhas、私はこれが私のPHPファイルに含まれていません。私はPHPコード全体で私の質問を編集します。 –