Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/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
Can';t找不到变量";SSL“;javascript_Javascript - Fatal编程技术网

Can';t找不到变量";SSL“;javascript

Can';t找不到变量";SSL“;javascript,javascript,Javascript,错误:找不到变量SSL 早上好,当我发现一个我无法解决的问题时,我正在完成脚本。当我点击一个按钮时,它告诉我找不到变量“SSL”,但它是创建的(当我点击一个按钮时只显示错误),你能告诉我是否有一些错误吗? html: SSL检查器 SSL检查器 '; 数据+=‘编辑’; 数据+=‘删除’; 数据+=''; } } this.Count(MyJSON.length); 返回this.el.innerHTML=数据; }; //添加名称 this.Add=函数(){ el=document.get

错误:找不到变量SSL

早上好,当我发现一个我无法解决的问题时,我正在完成脚本。当我点击一个按钮时,它告诉我找不到变量“SSL”,但它是创建的(当我点击一个按钮时只显示错误),你能告诉我是否有一些错误吗? html:


SSL检查器
SSL检查器
';
数据+=‘编辑’;
数据+=‘删除’;
数据+='';
}
}
this.Count(MyJSON.length);
返回this.el.innerHTML=数据;
};
//添加名称
this.Add=函数(){
el=document.getElementById('add-name');
el1=document.getElementById('add-link')
var url=el.value;
var url1=el1.0;
如果(url){
MyJSON.name.push(url.trim());
el.值='';
this.FetchAll();
}
如果(url){
MyJSON.url.push(url1.trim());
el1.value='';
this.FetchAll();
}
}
//编辑
this.Edit=函数(项){
var el=document.getElementById('edit-name');
el.value=MyJSON.name[item];
document.getElementById('edit').style.display='block';
self=这个;
document.getElementById('saveEdit')。onsubmit=function(){
var url=el.value;
如果(url){
splice(item,1,url.trim());
self.FetchAll();
CloseInput();
}
}
};
//删除
this.Delete=函数(项){
MyJSON.name.splice(第1项);
this.FetchAll();
};
}
SSL.FetchAll();
函数CloseInput(){
document.getElementById('edit').style.display='none';
}
}

已解决,变量SSL已进入start,因此它不是全局变量。 我需要执行window.SSL=SSL,它可以正常工作。
感谢您提供了一定的性能,@Chriag Ravindra

SSL
start
中,因此它不是全局的。考虑在JavaScript中适当地附加侦听器,这将不是问题。正如@确定性性能所提到的,SSL变量对于 Stase函数是本地的。作为一种快速攻击,您可以在
start
的末尾执行
window.SSL=SSL
,但更好的方法是正确使用Javascript事件处理程序。您好,谢谢您的帮助,我解决了这个问题,但现在当我尝试单击某个按钮时,它告诉我:TypeError:undefined不是一个对象(计算'MyJSON.name.push')
    <!DOCTYPE html>
<html>

<head>

    <title>SSL Checker</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <script type="text/javascript" src="js/script.js"></script>
    <script type="text/javascript" src="js/json.json" charset="utf-8"></script>
</head>

<body onLoad="start()">
    <div id="title">
        <h1>SSL Checker</h1>
    </div>
    <div id="data">
        <form action="javascript:void(0);" method="POST" onsubmit="SSL.Add()">
            <input type="text" id="add-name" placeholder="Name"></input>
            <input type="text" id="add-link" placeholder="Link"></input>
            <input type="submit" value="Add">
        </form>

        <div id="edit" role="aria-hidden">
            <form action="javascript:void(0);" method="POST" id="saveEdit">
                <input type="text" id="edit-name">
                <input type="submit" value="Edit" /> <a onclick="CloseInput()" aria-label="Close">&#10006;</a>
            </form>
        </div>
        <p id="counter"></p>
    </div>
    <div id="table">
        <table style="overflow-x:auto;">
            <tr>
                <th>Sites:</th>
            </tr>
            <tbody id="urls">
            </tbody>
        </table>
    </div>
</body>

</html>
    function start() {
var SSL = new function() {
            //List urls to check
            this.el = document.getElementById('urls');

            this.Count = function(data) {
                var el = document.getElementById('counter');
                var name = 'url';

                if (data) {
                    if (data > 1) {
                        name = 'urls';
                    }
                    el.innerHTML = 'There are:' + ' ' + data + ' ' + name;
                } else {
                    el.innerHTML = 'No ' + name;
                }
            };
            //Buttons configuration
            this.FetchAll = ss =function() {
                var data= '';

                if (MyJSON.length > 0) {
                    for (i = 0; i < MyJSON.length; i++) {
                        data += '<tr>';
                        data += '<td><a href="' + MyJSON[i].url + '">' + MyJSON[i].name+ '</a></td>';
                        data += '<td><button onclick="SSL.Edit(' + i + ')">Edit</button></td>';
                        data += '<td><button onclick="SSL.Delete(' + i + ')">Delete</button></td>';
                        data += '</tr>';

                    }
                }

                this.Count(MyJSON.length);
                return this.el.innerHTML = data;
            };
            //Add name
            this.Add = function() {
                el = document.getElementById('add-name');
                el1 = document.getElementById('add-link')
                var url = el.value;
                var url1 = el1.value;
                if (url) {
                    MyJSON.name.push(url.trim());
                    el.value = '';
                    this.FetchAll();
                }
                if (url) {
                    MyJSON.url.push(url1.trim());
                    el1.value = '';
                    this.FetchAll();
            }
            }

            //Edit
            this.Edit = function(item) {
                var el = document.getElementById('edit-name');
                el.value = MyJSON.name[item];
                document.getElementById('edit').style.display = 'block';
                self = this;
                document.getElementById('saveEdit').onsubmit = function() {
                    var url = el.value;
                    if (url) {
                        self.urls.splice(item, 1, url.trim());
                        self.FetchAll();
                        CloseInput();
                    }
                }
            };
            //Delete
            this.Delete = function(item) {
                MyJSON.name.splice(item, 1);
                this.FetchAll();
            };

        }

        SSL.FetchAll();

        function CloseInput() {
            document.getElementById('edit').style.display = 'none';
        }
}