Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 - Fatal编程技术网

Javascript 如何打印警报框中的数字?

Javascript 如何打印警报框中的数字?,javascript,Javascript,当输入的两个数字相同时,此代码显示警报框,现在我想在警报框中显示数字,它只显示一个数字,但我想显示每个数字相同例如,如果我在两个输入框中输入83,在其他两个输入框中输入85,警报框应显示83和85,您不能多次输入这些数字。 函数validateForm(){ for(变量x=0;x

当输入的两个数字相同时,此代码显示警报框,现在我想在警报框中显示数字,它只显示一个数字,但我想显示每个数字相同例如,如果我在两个输入框中输入83,在其他两个输入框中输入85,警报框应显示83和85,您不能多次输入这些数字。
函数validateForm(){

for(变量x=0;x<81;x++){
对于(变量y=x+1;y<81;y++){
if(document.forms[“myForm”][pk'+x].value==document.forms[“myForm”][pk'+y].value){
如果(document.forms[“myForm”][pk'+x].value==“”){
返回true;
}否则{
警报(“您不能多次输入数字”);
返回false;
}
}
}
}
返回true;
}

不要在循环中使用
return
,否则声明一个变量,比如说
validate
,并在其中存储真值和假值,最后返回,否则函数执行将在返回时停止。修改代码为:

function validateForm() {
    var validate = true;
    for (var x = 0; x < 81; x++) {
        for (var y = x + 1; y < 81; y++) {
            if (document.forms["myForm"]['pk' + x].value == document.forms["myForm"]['pk' + y].value) {
                if (document.forms["myForm"]['pk' + x].value == "") {
                } else {
                    alert('You can not enter a number more than once. Duplicate number is:'+ document.forms["myForm"]['pk' + x].value);
                        validate =  false;
                    }
                }
            }
        }
        return validate;
    }
函数validateForm(){
var=true;
对于(var x=0;x<81;x++){
对于(变量y=x+1;y<81;y++){
if(document.forms[“myForm”][pk'+x].value==document.forms[“myForm”][pk'+y].value){
如果(document.forms[“myForm”][pk'+x].value==“”){
}否则{
警报('不能多次输入数字。重复的数字是:'+document.forms[“myForm”]['pk'+x].value);
验证=假;
}
}
}
}
返回验证;
}

从您的代码中,这可以帮助您

 <script>
            function validateForm() {

        var val1,val2;
            for (var x=0; x<81; x++) {
                for (var y=x+1; y<81; y++) {
        val1 = document.forms["myForm"]['pk'+x].value;
        val2 = document.forms["myForm"]['pk'+y].value
                  if (document.forms["myForm"]['pk'+x].value==document.forms["myForm"]['pk'+y].value) {

                   if ( document.forms["myForm"]['pk'+x].value=="") {
                   return true;
                   }
                   else {
                    alert(val1 + 'and'+ val2 +',You can not enter a number more than once');
                    return false;
                    }
                  }else{
                   alert(val1 + 'and'+ val2 +',You can not enter a number more than once');
                    return false;
}


                }


              }


              return true;
            }



            </script>

函数validateForm(){
var val1,val2;

对于(var x=0;x一个完全不同的观点,只有81次迭代,而不是3000次+

function validateForm() {
    var q = {}, a = [];
    for (var i=0; i<81; i++) {
        var value = document.forms["myForm"]['pk'+i].value;
        if (value !== "") {
            if (q[value]) {
                if (q[value] < 2) {
                    a.push(value);
                }
                q[value] ++;
            }
            else {
                q[value] = 1;
            }
        }
    }
    if(a.length) {
        alert(a.join(', ') + ' You can not enter a number more than once');
        return false;
    }
    return true;
}
函数validateForm(){
var q={},a=[];

对于(var i=0;i 0,将显示警报并返回false)

您是否要求字符串连接,又称:
“关于宇宙、生命和其他问题的答案是:“+42”
?不,我想显示文档的编号。forms[“myform”][pk'+x]在“警报”框中。要澄清,您需要一个带有重复编号列表的单个警报,例如“21、23、25您不能多次输入编号”先生,这正是我想要的。但它只显示一个数字,如果我在两个框中输入两个相同的数字,在其他框中输入两个相同的数字,它在警报框中只显示一个数字,例如57和57,它应该显示这两个相同的数字57和58等@Pardeep,我编辑了我的答案。请点击并让我知道它对您有效。好吗在
if
语句中使用
val
val2
不是更好吗?@TripeHound,变量是在if-else语句之前初始化的,所以我认为这是一件好事(但编程是基于您的逻辑)。@Sumit Jha-该代码会在第一次迭代时发出警报,其中至少有一个值不是“”。这将为每个重复的号码提醒一次,而不显示重复的号码。A您是对的,但是OP可以轻松地更改提醒部分。我告诉了他主要关注的逻辑。不过编辑答案,谢谢:)但是它只显示一个重复的数字如果有多个重复的数字呢?它会有多个重复的元素,你确定它不工作吗?谢谢,先生,这就是我想要的。
function validateForm() {
    var q = {}, a = [];
    for (var i=0; i<81; i++) {
        var value = document.forms["myForm"]['pk'+i].value;
        if (value !== "") {
            if (q[value]) {
                if (q[value] < 2) {
                    a.push(value);
                }
                q[value] ++;
            }
            else {
                q[value] = 1;
            }
        }
    }
    if(a.length) {
        alert(a.join(', ') + ' You can not enter a number more than once');
        return false;
    }
    return true;
}