我正在使用JavaScript来检查变量以查看它是否包含"http://",如果它没有,则将http附加到它.使用下面的代码,但我得到的是刷新页面,/?myURL=并附加到浏览器地址栏.删除if(getUrl.indexOF("http://" == -1)部件将使代码正常工作,但将缺少它包含的功能.我无法弄清楚我哪里出错了.我是否错过了if else语句中的中断或返回?
function placeUrl()
{
var str1 = "http://"
var getUrl;
var newUrl;
getUrl = document.getElementById('usersUrl').value;
if(getUrl != null)
{
if(getUrl.indexOf("http://" == -1)
{
newUrl = str1.concat(getUrl);
}
else
{
newUrl = getUrl;
}
document.getElementById('iframe1').src = newUrl;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
我的HTML:
<form onSubmit="return placeUrl()">
<input id="usersUrl" type="text" name="myURL" value="Enter a URL..." onblur="if (this.value == '') {this.value = 'Enter a URL...';}" onfocus="if (this.value == 'Enter a URL...') {this.value = '';}">
<input type="submit" value="Analyse">
</form>
Run Code Online (Sandbox Code Playgroud)
我相信你遇到的问题是你错过了大括号.将行更改为:
if(getUrl.indexOf("http://"/*HERE*/)/*HERE*/ == -1)
Run Code Online (Sandbox Code Playgroud)
我添加了注释以指出哪个是缺失的括号.