我想知道如何从jQuery提供的form
中获取submit callback
,因为我在一个页面上有n个表单,包含一个公共类many
和一个{ {1}}附加到每个表单的属性。
我需要回复此data-id
以及此回调中data-id
的输入,否则我不能,因为他们只有一个cummon类。
我正在寻找类似的东西:
form
HTML
$('form.many').submit(function(e) {
console.log($(this).data('id')); //Desn't work
console.log($(this).serializeArray()); //Desn't work
return false;
});
<form class="many" data-id="1">
<textarea>TEST_1</textarea>
</form>
<form class="many" data-id="2">
<textarea>TEST_2</textarea>
</form>
//...
[]
如何获取textarea内容?
答案 0 :(得分: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
。
答案 1 :(得分:0)
这有帮助吗?
var data = {};
$.each($('form.many').serializeArray(), function(i, field) {
data[field.name] = field.value;
});
答案 2 :(得分:0)
看看这个小提琴http://jsfiddle.net/sarfarazdesigner/6CvU7/ 我认为你的html代码中有一个错误,我做了一个小提琴,它会工作正常
<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;
});