Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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 如何确定跨度形式的正确值?_Javascript_Function_Otree - Fatal编程技术网

Javascript 如何确定跨度形式的正确值?

Javascript 如何确定跨度形式的正确值?,javascript,function,otree,Javascript,Function,Otree,我有下面的脚本来计算一个简单的总和。如果总和超过或低于100,则显示显示错误。尽管出现了错误消息,用户仍然可以进入下一页。我希望在值==100之前,他不能移动到下一页 <table class="table-bordered" style=" width: 80%; margin-left: 10%;" > <tr style="background-color:#ffb380"> <t

我有下面的脚本来计算一个简单的总和。如果总和超过或低于100,则显示显示错误。尽管出现了错误消息,用户仍然可以进入下一页。我希望在值==100之前,他不能移动到下一页

<table class="table-bordered" style=" width: 80%; margin-left: 10%;" >
  <tr style="background-color:#ffb380">
        <td scope="col"  colspan="1" style="text-align:center"> Quante Palline  per la Scelta 1 </td>
        <td scope="col"  colspan="1" style="text-align:center"> Quanti Palline per la Scelta 2 </td>
        <td scope="col"  colspan="1" style="text-align:center"> Totale Palline Assegnate </td>
  </tr>
  <tr style="background-color:#ffe0cc">
        <td> <input class="pref_input" id="pref1" type="number" name="pref1" min="0" max="100" style="width: 50%; margin-left: 25%"> </td>
        <td> <input class="pref_input" id="pref2" type="number" name="pref2" min="0" max="100" style="width: 50%; margin-left: 25%"> </td>
        <td> <span  id="sum_token"  style="width: 50%; margin-left: 37%" ></span> su 100</td>
    </tr>
</table>


<div id="error" class="hide"><b>La somma dei gettoni deve essere 100</b></div>
<script>window.onload = init_sum_token();

function init_sum_token() {
  sum_token = document.getElementById("sum_token");
  pref1 = document.getElementById("pref1");
  pref2 = document.getElementById("pref2");

  document.querySelectorAll(".pref_input").forEach((item) => {
    item.addEventListener("change", (event) => {
      sum_prefs =
        get_input_value(pref1) +
        get_input_value(pref2);
      let sum = parseFloat(sum_prefs);
      if (sum != 100) {
        sum = sum_prefs;
        document.getElementById("error").className = "show";
      } else {
        document.getElementById("error").className = "hide";
      }
      sum_token.innerHTML = sum;
    });
  });
}
function get_input_value(input) {
  if (input.value == "") {
    return 0;
  } else {
    return parseFloat(input.value);
  }
  if (input.value != 100) {
    return "error";
  }
}

</script>

根据《科学》第1期
每平方米帕林数量2
完全苍白结合
苏100
La somma dei gettoni Devessere 100酒店
window.onload=init_sum_token();
函数init_sum_token(){
sum_token=document.getElementById(“sum_token”);
pref1=document.getElementById(“pref1”);
pref2=document.getElementById(“pref2”);
document.querySelectorAll(“.pref_input”).forEach((项)=>{
item.addEventListener(“更改”,(事件)=>{
总优先权=
获取输入值(pref1)+
获取输入值(pref2);
设sum=parseFloat(sum_prefs);
如果(总和=100){
sum=sum_prefs;
document.getElementById(“错误”).className=“显示”;
}否则{
document.getElementById(“错误”).className=“隐藏”;
}
sum_token.innerHTML=sum;
});
});
}
函数获取输入值(输入){
如果(input.value==“”){
返回0;
}否则{
返回parseFloat(input.value);
}
如果(输入值!=100){
返回“错误”;
}
}

请在
get\u input\u value()
函数中正确比较总和,它应该是这样的:

if (input.value > 100 || input.value < 100 ) {
    return "error";
  }
if(input.value>100 | | input.value<100){
返回“错误”;
}
还要纠正它:

if (sum > 100 || sum < 100) {
        sum = sum_prefs;
....
if(总和>100 | |总和<100){
sum=sum_prefs;
....

@Haris非常感谢您的更正。但是,如果我输入0和99,我仍然可以提交表格并进入下一页。