|
|
|
| Почему некорректно работает скрипт (jQuery)?
1.php
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<span id="progress"></span>
<form method="post">
Имя:
<input name="user" type="text" value="">
<input type="submit" name="send" value="Отправить" title='Отправить сообщения.' id="button">
</form>
<script type="text/javascript">
$("#button").click(function () {
$.post('2.php', {'name':'<?php echo $_POST['user'];?>'},
function(data) {
$('#progress').text(data);
});
});
</script>
</body>
</html>
|
2.php
<?php
if (isset($_POST['name']))
{echo $_POST['name'];}
?>
|
Первый скрипт отдает все данные... но ответа от второго не следует. | |
|
|
|
|
|
|
|
для: shpion
(01.06.2009 в 16:20)
| | >Первый скрипт отдает все данные...
И что он отдает? Всегда пустую переменную $_POST['user']. Первый скрипт ведь не получает никаких данных.
Кнопка на форме у вас submit, что предполагает перезагрузку страницы. Тогда вопрос, зачем вам вообще jQuery, который в свою очередь предполагает работу без перезагрузок? Нужно или тип кнопки изменить на button, или для формы на onsubmit делать return false.
Это ответ на вопрос "почему?"
Если подразумевался вопрос "как?"
то хотя бы так:
1.php
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</head>
<span id="progress"></span>
<form method="post">
Имя:
<input name="user" id="user" type="text" value="">
<input type="button" name="send" value="Отправить" title='Отправить сообщения.' id="button">
</form>
<script type="text/javascript">
$("#button").click(function () {
var user=document.getElementById('user').value;
$.post('2.php', {'name':user},
function(data) {
$('#progress').text(data);
});
});
</script>
</body>
</html>
|
И method='post' у формы можно убрать, не нужно оно здесь. | |
|
|
|
|
|
|
|
для: yuk
(01.06.2009 в 17:08)
| | Спасибо за промывку мозгов! Почаще бы попадались такие люди, которые не только код напишут но и в проблемму носом ткнут! | |
|
|
|
|
|
|
|
для: shpion
(01.06.2009 в 16:20)
| | . | |
|
|
|