2012-07-11 5 views
4

Я новичок в jquery и пытаюсь изменить базовый сценарий из php академии.jquery, post multiple variables

скрипт JQuery является:

<script type="text/javascript"> 
function get() { 
    $.post('getpeopleinjobs.php', { 
     postvarfname: form.firstname.value, 
     postvarlname: form.d = surname.value 
    }, function(output) { 
     $('#age').html(output).show(); 
    }); 
} 
</script> 

и моя форма код:

<form name="form"> 
    <input type="text" id="firstname"> 
    <input type="text" id="surname"> 
    <input type="button" value="get" onclick="get();"> 
    </form> 

Это работало отлично, когда я проходил только одна переменная, и мой фрагмент кода был:

$.post('getpeopleinjobs.php', { 
    postvarfname: form.firstname.value 
} 

Затем я попытался добавить вторую переменную с

$.post('getpeopleinjobs.php', { 
    postvarfname: form.firstname.value, 
    postvarlname: form.d = surname.value 
} 

Он не работает сейчас в Internet Explorer, но интересно, что он работает в Chrome?

Любые советы для начинающих =

+2

Вы уверены, что вы имеете в виду, чтобы иметь, что 'd =' сидит во втором значении? Таким образом, он должен читать '$ .post ('getpeopleinjobs.php', {postvarfname: form.firstname.value, postvarlname: form.surname.value}' –

ответ

8

У вас есть понятие вниз правильно, но, как представляется, незначительная ошибка

//Posted Code 
$.post ('getpeopleinjobs.php',{postvarfname: form.firstname.value,postvarlname: form.d=surname.value} 
// Fixed Code 
$.post ('getpeopleinjobs.php',{postvarfname: form.firstname.value, postvarlname: form.surname.value} 
5

У вас есть опечатка в вашем post код:

$.post('getpeopleinjobs.php',{ 
    postvarfname: form.firstname.value, 
    postvarlname: form.surname.value 
}, function() { /* ... */ }); 

должны работать нормально.

4

Похоже, что у вас есть проблема в вашем скрипте. Удалите = знак:

$.post ('getpeopleinjobs.php',{postvarfname: form.firstname.value,postvarlname: form.surname.value}); 

Вы также можете просто хочу, чтобы написать сценарий, как:

$.post ('getpeopleinjobs.php',$(form).serialize()); 

Таким образом, если добавить дополнительные поля в форме не должны изменить сценарий.

+0

Привет, Джон, можете ли вы подробнее рассказать о функции serialze? формы данных на следующую страницу? Спасибо – Smudger

+1

Да, функция сериализации сериализует все дочерние элементы 'input' в текстовую строку с URL-адресами http://api.jquery.com/serialize/ –

+0

Спасибо, Джон, оцените ее. в теме. – Smudger