我的页面上有两个非常相似的表单。
我在 jquery 中进行简单的验证,以检查每个字段是否都有值,然后再使用 ajax 将数据发送到使用该数据的 php 处理程序。
由于表单之间的相似性,我无法知道提交的是哪个表单,所以我想尝试通过表单容器 div 上的 id 进行区分
<div name="contactform2" class="form">
<div width="100%" class="con2">
<div class="lable">
<label for="first_name">First Name *</label>
</div>
<input type="text" name="first_name" class="span4">
<div class="lable">
<label for="email">Email Address *</label>
</div>
<input type="text" name="email" class="span4">
<div class="lable">
<label for="telephone">Contact Number *</label>
</div>
<input type="text" name="telephone" class="span4">
<div class="lable">
<label for="comments">Message *</label>
</div>
<textarea name="comments" rows="8" class="span4"></textarea>
<input type="submit" value="Submit" class="btn btn-success">
</div>
</div>
实际上,这些形式之间的唯一区别是一个<select>
在其中,而另一个则没有。
我的 jquery 看起来像这样:
$('input[type=submit]').click(function() {
var parentname = this.parent('div').attr('name');
console.log('Form used: ' + parentname);
var fname = 0,
email = 0,
tel = 0;
comm = 0;
// Validate data
});
我想我的选择器可能是错误的,因为我通常按 id/class/tagname 选择,所以我什至不确定它是否有效。
谁能提出替代方案?
.parent() http://api.jquery.com/parent/是一个 jQuery 函数,你忘了换行this
in $()
.
var parentname = $(this).parent('div').attr('name');
console.log('Form used: ' + parentname);
你应该看看.closest()
反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)