Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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/2/jquery/68.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/9/delphi/9.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 函数checkusername()正在发出警报,但我不希望它发出警报_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 函数checkusername()正在发出警报,但我不希望它发出警报

Javascript 函数checkusername()正在发出警报,但我不希望它发出警报,javascript,jquery,ajax,Javascript,Jquery,Ajax,当我调用checkusername()时,它会发出警报。但是为什么我调用markcheck()时它会发出警报呢 我使用了checkbutton=1作为标志,如果checkbutton==1,我还使用了一个条件。它不应发出警报,但仍在发出警报 如果有人认为这个功能可以缩小。请缩小此尺寸: <script> var checkbut = 0; function markcheck() { checkbut = "1"; checkusername(); } functio

当我调用
checkusername()
时,它会发出警报。但是为什么我调用
markcheck()
时它会发出警报呢

我使用了
checkbutton=1
作为标志,如果checkbutton==1,我还使用了一个条件
。它不应发出警报,但仍在发出警报

如果有人认为这个功能可以缩小。请缩小此尺寸:

<script>
var checkbut = 0;
function markcheck()
{
    checkbut = "1";
    checkusername();
}
function checkusername()
{

var username = document.getElementById("username").value;
$.ajax({
    method: 'POST',
    url: 'saves/checkusername.php',
    data: {
        username: username
    },
    beforeSend: function()
    {
        document.getElementById("checkbutton").innerHTML = "Checking";
        setTimeout(function(){document.getElementById("checkbutton").innerHTML = "Check Availiblity";},1000);
    },
    success: function(data) 
    {

        if (data == "1")
        {
            document.getElementById("taken").innerHTML = "This Username is already taken. Choose a new one.";
            document.getElementById("username").className = "form-control form-control-danger";
            document.getElementById("labelusername").style.color = "red";
        }
        else
        {
            document.getElementById("labelusername").style.color = "";
            document.getElementById("taken").innerHTML = "";
            if (data == "0")
            {
                if (checkbut == "0")
                {
                    alert('ujhygtfrd');
                }
                else
                {

                }
            }
        }
    }
})
}
</script>

var-checkbut=0;
函数markcheck()
{
checkbut=“1”;
checkusername();
}
函数checkusername()
{
var username=document.getElementById(“用户名”).value;
$.ajax({
方法:“POST”,
url:'saves/checkusername.php',
数据:{
用户名:username
},
beforeSend:function()
{
document.getElementById(“checkbutton”).innerHTML=“Checking”;
setTimeout(函数(){document.getElementById(“checkbutton”).innerHTML=“Check Availability”;},1000);
},
成功:功能(数据)
{
如果(数据==“1”)
{
document.getElementById(“take”).innerHTML=“此用户名已被使用。请选择一个新用户名。”;
document.getElementById(“用户名”).className=“表单控制表单控制危险”;
document.getElementById(“labelusername”).style.color=“红色”;
}
其他的
{
document.getElementById(“labelusername”).style.color=“”;
document.getElementById(“take”).innerHTML=“”;
如果(数据=“0”)
{
如果(检查但=“0”)
{
警报(“ujhygtfrd”);
}
其他的
{
}
}
}
}
})
}

markcheck()函数之外设置checkbutton变量

与此相反:

function markcheck()
{
    var checkbutton = "1";
    checkusername();
}
这:

或者像这样:

var checkbutton;
function markcheck()
{
    checkbutton = "1"
    checkusername();
}

这是因为变量checkbutton位于checkmark函数的局部范围内,当markcheck()结束。

您的变量位于函数内部,将其置于函数外部,使其成为全局变量,以便其他函数可以访问其值,并在函数外部对其进行定义

var checkButton;
function checkMark(){
  checkButton = "1";
  anotherFunction();
}

function anotherFunction(){
 if(checkButton=="1"){
   return 0;
 }else{
 alert("yeah its value is not 1");
 }
}

请,使用代码最小化<代码>var checkbutton=“1”是一个局部变量。它只存在于
markcheck()
的内部。请阅读JSK中的各种作用域。如果您使用jQuery,请使用
$(“#id”)
而不是
文档。getElementById
@Ikillnukes缩小本身不应该是一个目标。编写可读的代码,然后通过缩略器将其插入。用户告诉else case总是被调用。我只调用checkusername()或markcheck(),因此如果我在函数var之外创建var checkbutton,则不会调用create@sidhant不,变量将可用于所有函数,并且,对于其他js文件。如果选择第二个选项为true,则将始终调用else case,除非修改checkbutton变量。我已编辑了该问题。请现在检查一下。问题仍然存在,两个按钮都在发出警报,您在哪里调用markcheck()???我看不出该值可以更改,因为您不调用它。另外,请使用整数而不是字符串。。。
var checkButton;
function checkMark(){
  checkButton = "1";
  anotherFunction();
}

function anotherFunction(){
 if(checkButton=="1"){
   return 0;
 }else{
 alert("yeah its value is not 1");
 }
}