0

我想知道如何formsubmit callbackjQuery 提供的中获取一个,因为我在一个页面上有 n 个表单,每个表单都有一个 commun 类many和一个data-id属性。

我需要取回这个data-idform这个回调中的输入,否则我不能,因为它们只有一个 cummon 类。

我正在寻找类似的东西:

$('form.many').submit(function(e) {
        console.log($(this).data('id')); //Desn't work
        console.log($(this).serializeArray()); //Desn't work
        return false;
    });

HTML

<form class="many" data-id="1">
  <textarea>TEST_1</textarea>
</form>

<form class="many" data-id="2">
  <textarea>TEST_2</textarea>
</form>

//...

我得到[]$(this).serializeArray();如何获取文本区域内容?

4

3 回答 3

0

试试这个代码:

$(document).ready(function(){
    $('form.many').submit(function(e) {
        console.log($(this).data('id')); //Desn't work, 
        //if data is defined then it will work 
        // or use attr if you have given id to your from element
        console.log($(this).serializeArray()); //Desn't work
        return false;
    });
});

您必须检查您的页面是否具有HTML 之类的

<form class="many" action="" data-id="frmUpdate">

</form>

还要检查你jQuery在使用它之前是否包含了它。

于 2013-04-26T04:51:09.803 回答
0

这有帮助吗?

var data = {};
$.each($('form.many').serializeArray(), function(i, field) {
   data[field.name] = field.value;
});
于 2013-04-26T05:01:58.960 回答
0

take a look of this fiddle http://jsfiddle.net/sarfarazdesigner/6CvU7/ i think you have a mistake in your html code i make a fiddle and it will work fine

<form>
<div><input type="text" name="a" value="1" id="a" /></div>
<div><input type="text" name="b" value="2" id="b" /></div>
<div><input type="hidden" name="c" value="3" id="c" /></div>
<div>
<textarea name="d" rows="8" cols="40">4</textarea>
</div>
<div><select name="e">
<option value="5" selected="selected">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select></div>
<div>
<input type="checkbox" name="f" value="8" id="f" />
</div>
<div>
<input type="submit" name="g" value="Submit" id="g" />
</div>
</form>

$('form').submit(function() {
console.log($(this).serializeArray());
return false;
});
于 2013-04-26T05:03:04.693 回答