人
这是我的HTML部分:
<div class="radio">
<input type="radio" name="certain" id="oui" value="oui"/>
<label for="oui">
oui
</label>
<br />
<input type="radio" name="certain" id="non" value="non" checked="checked"/>
<label for="non">
non
</label>
</div>
&#13;
var espece = $('#espece');
var poil = $('#poil');
var _certain = $('[name = "certain"]');
var certain = null;
_certain.each(function(index, element){
if(_certain[index].checked){
certain = element;
}
});
var continent_valeur = $('select option:selected').val();
/* Test des champs */
if(espece.val() == '' || poil.val() == '' || certain.val() == '' || continent_valeur == ""){
alert("Veuillez remplir tous les champs !");
}
当我提交表单时,我的条件是否存在错误。它说Certain.val()不是函数。
但是var确定包含我的收音机的好价值是不是。
我不明白你能帮帮我吗?
答案 0 :(得分:1)
val()
是jQuery method,仅适用于jQuery对象,对纯JavaScript元素无效。
如果你想使用普通的vanilla JS,你必须使用certain.value
或者在jQuery的情况下你可以使用$(certain).val()
。
参考代码:
var espece = $('#espece');
var poil = $('#poil');
var _certain = $('[name = "certain"]');
var certain = null;
_certain.each(function(index, element) {
if (_certain[index].checked) {
certain = element;
}
});
var continent_valeur = $('select option:selected').val();
/* Test des champs */
if (espece.val() == '' || poil.val() == '' || $(certain).val() == '' || continent_valeur == "") {
alert("Veuillez remplir tous les champs !");
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="radio">
<input type="radio" name="certain" id="oui" value="oui" />
<label for="oui">
oui
</label>
<br />
<input type="radio" name="certain" id="non" value="non" checked="checked" />
<label for="non">
non
</label>
</div>
&#13;
答案 1 :(得分:1)
当您使用.each
遍历jQuery元素集合时,它会为您提供索引,元素本身。第二个参数不是jQuery包装的元素 - 它是普通元素。
使用普通的Javascript方法从元素中获取值:
`certain.value`
或者先用jQuery选择它:
`$(certain).val()`
答案 2 :(得分:1)
当您使用each时,element表示非jquery节点。 你只需要改变
certain = element;
到
certain = $(element);
你应该去。
您可以从W3Schools找到任何您可能遇到的JQuery问题:
和你的具体:
答案 3 :(得分:1)
你得到这个是因为val函数将应用于jquery对象,试试这个
$(element).val();
此外,在你的每一个中都不需要做 _certain [index] .checked ,因为你已经在回调的第二个参数中得到了元素。