Отправка нескольких параметров в JavaScript из кнопки формы HTML - PullRequest
2 голосов
/ 19 января 2012

Хорошо, у меня есть форма, которая имеет три поля ввода, на данный момент это текст, но они будут изменены на пароль.Когда нажата кнопка отправки, я хочу чтобы данные формы отправлялись в скрипт Ajax.

У меня это работает только с одним параметром, кнопка выглядит следующим образом:

<input type="submit" name="submit" value="Submit" 
    onClick="return pass(this.form.oldPass.value;">

Теперь я попытался добавить часть this.form три раза, потому что именно столько параметровФункция бы взяла, но, похоже, ничего не делает:

<input type="submit" name="submit" value="Submit" 
    onClick="return pass(this.form.oldPass.value,
                         this.form.newPass.value, 
                         this.form.newPassCheck);">

Это правильный способ передачи данных формы в скрипт?Есть ли другой способ обойти это или я просто делаю что-то не так?

спасибо за помощь, если вам понадобится больше кода, я добавлю его.

Ответы [ 4 ]

3 голосов
/ 19 января 2012

попробуйте это.(для этого вам нужно jquery .)

<form>
 old pass <input type="password" id="old_pass" />
 new pass <input type="password" id="new_pass" />
 new pass confirmation <input type="password" id="new_pass_confirm"/>
</form>

в вашем файле .js, напишите:

$(document).ready(function(){
    var old_pass = $('#old_pass').val();
    var new_pass = $('#new_pass').val();
    var new_pass_confirm = $('#new_pass_confirm').val();

    //then call your method with those vars as parameter
    anyMethod(old_pass, new_pass, new_pass_confirm);

});

//this is your function
function anyMethod(old_pass, new_pass, new_pass_confirm)
{
  //put your validation code or ajax call here...
}
2 голосов
/ 19 января 2012

Добавьте id для каждого из ваших полей ввода, и вы можете получить значение в функции, например:


function pass() {
 var old = document.getElementById("yourOldPassId").value;
 var new = document.getElementById("yourNewPassId").value;
 var newConfirm  = document.getElementById("yourNewConfirmPassId").value;
}

Вы имели в виду что-то вроде этого

2 голосов
/ 19 января 2012

Дайте входам некоторые идентификаторы и получите данные оттуда.

Что-то вроде:

<input type bla bla id="whateverId0" />

Для каждого входа.

Отправка должна иметь что-то вроде onclick = "whatFunction ()"

JS должен выглядеть следующим образом:

     function whateverFunction()
     {
          val0 = document.getElementById('whateverId0');
          // For all 3 values.

          // Do whatever you want with them.
     }
1 голос
/ 19 января 2012

Я считаю, что вы должны добавить слушателя onSubmit к вашей форме. Есть хорошие js-фреймворки, такие как jquery, которые просты в использовании. Таким образом, вы можете сделать слушателя, который запускает функцию при отправке формы. В этой функции вы можете, например, извлечь данные в json и передать их на ваш сервер.

информация о jquery

JQuery AJAX

как извлечь данные формы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...