隐藏字段上的Javascript验证在MVC中不起作用
我正在尝试使用javascript验证MVC中的隐藏字段。我构建了一个星级反馈,希望在用户未选择评级时验证失败。我在jquery.validate.js文件中注释了“ignore::hidden”,但仍然存在相同的问题 @Html隐藏字段上的Javascript验证在MVC中不起作用,javascript,model-view-controller,Javascript,Model View Controller,我正在尝试使用javascript验证MVC中的隐藏字段。我构建了一个星级反馈,希望在用户未选择评级时验证失败。我在jquery.validate.js文件中注释了“ignore::hidden”,但仍然存在相同的问题 @Html <div class="col-md-10 col-sm-10"> <div style="display:inline-block;" id="rateYo"></div> <input type="hidde
<div class="col-md-10 col-sm-10">
<div style="display:inline-block;" id="rateYo"></div>
<input type="hidden" name="rating" id="rating_input" />
</div>
<button type="submit" class="btn btn-primary btn-lg" id="btnSubmit"</button>
Javascript代码
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/rateYo/2.2.0/jquery.rateyo.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/rateYo/2.2.0/jquery.rateyo.min.js"></script>
// Setting the star value
$(function () {
$("#rateYo").rateYo({
onSet: function (rating, rateYoInstance) {
rating = Math.ceil(rating);
$('#rating_input').val(rating);
}
});
});
// Validating when button is clicked
$(function () {
$('input[id$=btnSubmit]').click(function (z) {
var x = document.getElementById("rating_input");
if (x.val == 0) {
alert('Rating is Required');
z.preventDefault();
}
});
});
由于使用getElementById获取输入DOM节点,因此必须使用该节点的DOM属性来访问输入值
$someSelector.val是检索jQuery对象的value属性的方式。val是一个特定于jQuery的函数,只有通过jQuery-$rating\u input.val检索DOM元素时才可用
但是,DOM节点没有val属性。相反,输入元素尤其具有value属性
因此,如果x.value==0,请尝试使用var x=$'inputting\u input'.val获取隐藏值
$function{
$rateYo.rateYo{
开始:功能评级,rateYoInstance{
评级=数学。升学评级;
$“额定值输入”。额定值;
}
};
};
//单击按钮时进行验证
$function{
$'btnSubmit'。单击函数z{
var x=$“输入”\u input'.val
如果x==0{
警报“需要评级”;
z、 防止违约;
}
};
};
评级怎么会变成0?如何设置隐藏字段的值?我更新了我的代码谢谢whl。添加了$function{$'input[id$=btnSubmit]'。单击函数z{var x=$rating_input.val;如果x.value==0,则需要{alert'rating';z.preventDefault;};};仍然不起作用