Javascript 错误:Can';找不到变量SSL
我试图从JSON中选取一个值并将其插入到不同的文本框中,但它显示的值是“未定义的”。目标是在名称空间和链接空间中插入链接,并将其保存在LocalStorage和一些statick值(如google和yahoo)中。有人能帮我吗?非常感谢你。 编辑:现在问题解决了,现在不要操作按钮,有人吗?请 新问题:只有当我按下按钮时才会出现错误(它不会创建按钮)。 错误:找不到变量SSL html:Javascript 错误:Can';找不到变量SSL,javascript,json,Javascript,Json,我试图从JSON中选取一个值并将其插入到不同的文本框中,但它显示的值是“未定义的”。目标是在名称空间和链接空间中插入链接,并将其保存在LocalStorage和一些statick值(如google和yahoo)中。有人能帮我吗?非常感谢你。 编辑:现在问题解决了,现在不要操作按钮,有人吗?请 新问题:只有当我按下按钮时才会出现错误(它不会创建按钮)。 错误:找不到变量SSL html: SSL检查器 SSL检查器 '; 数据+=‘编辑’; 数据+=‘删除’; 数据+=''; } } this.
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';
}
}
您一直在调用MyJSON.url
和MyJSON.links
这些不是MyJSON
数组中的字段。您可以在数组中循环并执行MyJSON[i].name
和MyJSON[i].url
TypeError:undefined不是对象(计算'MyJSON.name[i]'),现在它显示了此错误。已解决,但现在按钮不起作用:不建议通过串联字符串生成HTML。最好使用DOM方法来创建和填充元素以及绑定事件处理程序
<!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">✖</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';
}
}