Справка по синтаксису jquery ajax - PullRequest
1 голос
/ 10 августа 2011

Я новичок в использовании jquery, и я написал следующий код, и он не работает, и я не могу выяснить, в чем ошибка .. Синтаксис также может быть неправильным.

Имеет 2 кнопки отправки, при использовании button1 он должен получать информацию из БД и отображать на той же странице, т.е. получать заголовок из БД и отображать на той же странице.

В то время как вторая кнопка отправки используется для отправки заголовка в БД и его обновления (записано в script_2.php).

<form id="myForm" method="post">
id: <input type="text" name="search"/>
<input type="button" id="button1" value="Submit to script 1" />
<input type="button" id="button2" value="Submit to script 2" />
title:<input type="text" name="title"/>
</form>
<head>

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
   $(document).ready(function(){

$("#button1").click(function(){
$.post('script_1.php', { name: form.name.value },
function(output) {
    $('#age').html(output).show();

}) ;
}) ;



$("#button2").click(function(){
$('form#myForm').attr({action: "script_2.php"});
$('form#myForm').submit();
});
});

</script>
</head>

Помощь оценена.

Ответы [ 3 ]

1 голос
/ 10 августа 2011

jQuerys attr() ожидает строки, а не объект, например:

$('form#myForm').attr("action", "script_2.php");

Ваша форма находится перед вашим тегом <head>. Это должно быть после вашего </head> и в теге <body>.

Вы помещаете результаты вашего вызова ajax в элемент с идентификатором age, но я не вижу элемента с таким идентификатором на вашей странице.

Это все для ошибок (которые я вижу на данный момент), но вы также можете ускорить свой селектор здесь $('form#myForm'), изменив его на $('#myForm'), поскольку идентификаторы уникальны, и я сомневаюсь, что у вас есть какой-либо элемент с идентификатором myForm, который не является формой.

1 голос
/ 10 августа 2011

Вам не хватает });, чтобы закрыть функцию $("#button1").click:

<script type="text/javascript">
   $(document).ready(function(){
        $("#button1").click(function(){
            $.post('script_1.php', { name: form.name.value },function(output) {$('#age').html(output).show();});
        });
        $("#button2").click(function(){
            $('form#myForm').attr({action: "script_2.php"});
            $('form#myForm').submit();
        });
    });
</script>
1 голос
/ 10 августа 2011

У вас слишком много закрытий

<script type="text/javascript" src="jquery.js"></script></script>

до

<script type="text/javascript" src="jquery.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...