У меня есть главная страница HTML, в которой используется пользовательский интерфейс jQuery mobile. Где-то на странице HTML У меня есть форма, которая является чем-то вроде формы голосования:Как отправить форму на странице jQuery Mobile?
<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>
Параметра Действия формы вызова моего файла PHP, который имеет эту логику:
<?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);
?>
У меня есть база данных, созданная на моем локальном сервере WAMP, и этот PHP-код записывается в базу данных в зависимости от того, какой радиоприемник выбран и отправлен из формы. Эти эхо-сигналы в php никогда не достигаются.
Проблема в том, что когда я нажимаю кнопку «Отправить», я получаю белый экран с надписью «undefined» в верхнем левом углу, после чего в базу данных ничего не записывается. Я обнаружил, что если я удалю строку, которая вызывает мобильный jQuery вверху с главной страницы html , все работает нормально, и данные записываются в базу данных (достигнуты эхо-сигналы в php). Кажется, что jQuery mobile несовместим с моим PHP-кодом. Как мне это исправить? Спасибо заранее!
ОБНОВЛЕНО (я сделал это работа): Вот что я изменил в виде:
<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 с данными-роли = «страницы») может быть занесена только с помощью AJAX. Это не будет работать иначе. Я изменю тему на свой вопрос, чтобы больше людей могли ее достичь.
Ищите инструкцию 'echo' /' print_r' в вашем файле 'logicDB.php', кроме того, что вы указали выше. –
Я не вижу ваш jQuery? Без этого мы не можем видеть, что происходит. –
Привет, Bibhas, у меня нет этого в моем php-файле.Я отредактирую свой вопрос с помощью всего PHP-кода. –