Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
隐藏字段上的Javascript验证在MVC中不起作用_Javascript_Model View Controller - Fatal编程技术网

隐藏字段上的Javascript验证在MVC中不起作用

隐藏字段上的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

我正在尝试使用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="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;};};仍然不起作用