Javascript If语句,不起作用
Javascript If Statement, not working
我有一个JavaScript函数,我想用它来获取当前URL,如果=后面有任何值,那么它应该放在一个ID为name的文本框中。然而,目前,当我打开页面时,完整的URL显示在文本框中,所以我希望有某种条件,只有在only=之后有值时,它才会显示
function DisplayProdCod(value) {
var URLstring = window.location.href;
if (URLstring.indexOf('=')) {
var ProductCode = URLstring.split("=").pop();
document.getElementById('Name').value = ProductCode;
document.getElementById('Name').style.backgroundColor = #C8C8FF;
}
}
典型的URL可以是
http://brmappsvr:7018/Enquiries/CMFRAME.html
或
http://brmappsvr:7018/Enquiries/CMFRAME.html?ProductCode=1BLK970/07
更改条件以检查是否返回-1
,如下所示:
function DisplayProdCod(value) {
var URLstring = window.location.href;
if (URLstring.indexOf('=') != -1) {
var ProductCode = URLstring.split("=").pop();
document.getElementById('Name').value = ProductCode;
document.getElementById('Name').style.backgroundColor = #C8C8FF;
}
}
当您要搜索的字符没有出现在字符串中时,indexOf
函数返回-1
。由于每个数字(0除外)都是真的,所以你的if条件每次都满足。因此,您应该更好地检查索引是否大于-1
,即
if (URLstring.indexOf('=') > -1) {
...
}
只需执行URLstring.split('='),然后检查结果的长度。如果是2,则使用结果[1],否则出现问题。
试试这个示例
html
<input type="text" id="Name"/>
<input type="button" onclick="DisplayProdCod();" value="click"/>
JS
function DisplayProdCod() {
var URLstring = window.location.href;
alert(URLstring);
if (URLstring.indexOf("=") > -1) {
var ProductCode = URLstring.split("=").pop();
document.getElementById("Name").value = ProductCode;
document.getElementById('Name').style.backgroundColor ="#C8C8FF";
}
}
请参阅DEMO在这个演示中,我正在搜索一个字符串"fiddle",您可以在程序中将其替换为"="
注意:在您的代码中,当您设置背景颜色时,会漏掉一个双引号应该低于
document.getElementById('Name').style.backgroundColor ="#C8C8FF";
相关文章:
- Javascript:If-then语句在函数中不起作用
- 循环通过数组的If语句不起作用
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 清除函数中if语句内部不起作用的间隔
- 为什么简单的Promise语句在浏览器中不起作用
- 如果语句不起作用,请单击
- 三元语句不起作用
- Javascript if和else语句不起作用
- PHP代码中实现的JavaScript |if语句不起作用
- if 语句在 JavaScript 上不起作用
- 如果语句不起作用 - JavaScript
- .has() 函数在 if 语句 (jQuery) 中不起作用
- 如果 onclick 和 onselect 中的语句在 ASP.NET 不起作用
- 简单的JS计算器-为什么不是'这个if语句不起作用
- alert语句不起作用
- SELECT FROM WHERE语句在使用变量时不起作用…
- 如果语句由于某种原因不起作用
- Javascript验证不起作用——只要一个if语句为true,它就会停止所有if语句
- 范围的Switch语句不起作用
- Javascript If语句,不起作用