форма jQuery сериализирует - пустая строка

Мой HTML:

 <script type="text/javascript">

    $(function() {

        $("#bt1").click(function() {

            var f = $("#form1");
            var formData = f.serialize();

            alert(formData);
        });

    }); 
</script> 

 <div id="div1">
      <form id="form1" action="/Home/Test1" method="post" name="down">
        <div id="div2">
            <input id="input1" type="text" value="2" />
        </div>    
      </form>
  </div>

 <input type="submit" id="bt1" />

Когда я разжигаю событие щелчка, formData пуст. Я использую jQuery 1.4.2.

87
задан user137348 7 April 2010 в 09:43
поделиться

2 ответа

Вы должны ввести вход элемент имя. Например: [

<form id="form1" action="/Home/Test1" method="post" name="down">
    <div id="div2">
        <input id="input1" type="text" value="2" name="foo"/>
    </div>    
</form>

] даст вам в окне предупреждения foo = 2 .

.serialize () берет имя и значение полей формы и создает строку вида name1 = value1 & name2 = value2 . Без имени он не может создать такую ​​строку.

Обратите внимание, что имя отличается от id . Ваша форма также не сработала бы, если бы вы использовали ее "обычным" способом. Каждому полю формы необходимо имя.

200
ответ дан 24 November 2019 в 07:38
поделиться

На входе нет атрибута name ... это может быть проблемой для сериализации.

<input id="input1" type="text" value="2" name="input1" />
8
ответ дан 24 November 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: