Я хочу опубликовать форму с помощью jquery, но мой код не работает. после отправки моя страница обновится. В чем проблема? ждите помощи.
Код jquery
function submitForm() {
var par1 = $('input[@name=my_radio][@checked]').val();
var par2 = $('input[@name=title]').val();
var par3 = $('input[@name=content]').val();
$.ajax({
url: "r8.php",
dataType: "html",
type: 'POST',
data: "submit=" + par1 + "&title=" + par2 + "&content=" + par3,
success: function(data){
$("#response").html(data);
$('input[@name=title]').html('');
$('input[@name=content]').html('');
}
});
return false;
}
Html-код:
<form method="post" id="post_form" name="post_form" onsubmit="return submitForm();">
<label>1: <input type="radio" name="my_radio" value="1" checked /></label>
<label>2: <input type="radio" name="my_radio" value="2" /></label>
<input id="title" name="title" type="text">
<input id="content" name="content" type="text">
<input type="submit" name="my_submit" id="my_submit" value="submit" />
</form>
<div id="response"></div>
И код r8.php
<?php
if($_POST['submit']!=''){
echo $_POST['title']."|".$_POST['content']."|".$_POST['submit']."|".time();
}
?>
2 ответа
В вашей функции submitform () java script получите такие значения:
var par1 = $('input:radio[name=my_radio]:checked').val()
var par2 = $('#title').val();
var par3 = $('#content').val();
Ваш метод не получает значения в переменных. вот почему ничего не публикуется. Я пробовал, и он работает.
РЕДАКТИРОВАТЬ:
Что вам нужно сделать, так это использовать один из методов ajax для публикации вашей формы и вставить вывод в элемент в обратном вызове успеха. Например:
$("#my_submit").click(function() {
$.post($("#post_form").attr("action"), $("#post_form").serialize(), function(html) {
$("div.post_form").html(html);
});
return false; // prevent normal submit
});
Взгляни на
http://api.jquery.com/jQuery.post/ а также http://api.jquery.com/jQuery.ajax/
Укажите r8.php в атрибуте действия формы. т.е.
<form method="post" id="post_form" name="post_form" action="r8.php" />
Надеюсь это поможет.
Возникла проблема с вашими селекторами .. удалите "@" из селектора, и он будет работать ..
<script language="javascript">
function submitForm() {
var par1 = $('input[name=my_radio][checked]').val();
var par2 = $("input[name=title]").val();
var par3 = $("input[name=content]").val();
$.ajax({
url: "r8.php",
dataType: "html",
type: 'POST',
data: "submit=" + par1 + "&title=" + par2 + "&content=" + par3,
success: function(data){
$("#response").html(data);
$("input[name=title]").html("");
$("input[name=content]").html("");
}
});
return false;
}
</script>
Похожие вопросы
Новые вопросы
jquery
jQuery - это библиотека JavaScript, рассмотрите возможность добавления тега JavaScript. jQuery - это популярная кросс-браузерная библиотека JavaScript, которая облегчает прохождение Document Object Model (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться в рассматриваемом коде, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.