Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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 CSS不适用于IE-边框样式更改_Javascript_Css - Fatal编程技术网

Javascript CSS不适用于IE-边框样式更改

Javascript CSS不适用于IE-边框样式更改,javascript,css,Javascript,Css,我有一个验证代码,如果输入文本为空白或模糊,我想将输入文本的边框颜色更改为红色 在FF和Chrome中,它工作良好。 在IE10中,它不起作用 这是我的剧本 function onblur_style() { var x = document.forms["myform"]["MySearchKeywordInput"].value; if (x != "" || x != null) { document.getElementById("MySearchBox").st

我有一个验证代码,如果输入文本为空白或模糊,我想将输入文本的边框颜色更改为红色

在FF和Chrome中,它工作良好。 在IE10中,它不起作用

这是我的剧本

function onblur_style() {
var x = document.forms["myform"]["MySearchKeywordInput"].value;
    if (x != "" || x != null) {
        document.getElementById("MySearchBox").style="border: 2px solid #5A5A5A;color: red";
    } 
}

function validateForm() {
var y = document.forms["myform"]["MySearchKeywordInput"].value;
    if (y==null || y=="") {        
        alert("At least one search query is required.");
        document.getElementById("MySearchBox").style="border: 2px solid #FF0000;color: red";
        return false;
    } else {
        document.forms["myform"].submit();
    }
}
这是我的html

<form id="myform" method="get" action="http://submitpage.page" onsubmit="return validateForm()">
<table>
<tr>
<td>
<input type="text" id="MySearchBox" name="MySearchKeywordInput" maxlength="60" size="180" value="Search for solutions" onfocus="if (this.value==this.defaultValue)this.value='';" onblur="onblur_style()">
</td>
<td>
<input type="image" src="http://image/magnifying_glass.gif">
</td>
</tr>
</table>


有什么想法吗?

正如我在评论中提到的,您似乎混淆了
样式
属性
样式
属性

如果要使用该属性,请尝试以下操作

var searchBoxStyle = document.getElementById("MySearchBox").style;
searchBoxStyle.border = '2px solid #5A5A5A';
searchBoxStyle.color = 'red';

正如我在评论中提到的,您似乎混淆了
style
属性
style
属性

如果要使用该属性,请尝试以下操作

var searchBoxStyle = document.getElementById("MySearchBox").style;
searchBoxStyle.border = '2px solid #5A5A5A';
searchBoxStyle.color = 'red';

DOM元素的样式属性是一个对象,它保存不同样式属性的值。因此,如果要通过“样式”属性更改元素的边框和颜色,则需要执行以下操作:

element.style.border = "2px solid #5A5A5A";
element.style.color = "#FF3030";
element.setAttribute("style", "border: 2px solid #5A5A5A; color: red");
如果要像示例中那样更改元素的样式属性,则需要执行以下操作:

element.style.border = "2px solid #5A5A5A";
element.style.color = "#FF3030";
element.setAttribute("style", "border: 2px solid #5A5A5A; color: red");

DOM元素的样式属性是一个对象,它保存不同样式属性的值。因此,如果要通过“样式”属性更改元素的边框和颜色,则需要执行以下操作:

element.style.border = "2px solid #5A5A5A";
element.style.color = "#FF3030";
element.setAttribute("style", "border: 2px solid #5A5A5A; color: red");
如果要像示例中那样更改元素的样式属性,则需要执行以下操作:

element.style.border = "2px solid #5A5A5A";
element.style.color = "#FF3030";
element.setAttribute("style", "border: 2px solid #5A5A5A; color: red");

您的示例在任何浏览器中都不适用于我。根据html中的名称,javascript中输入字段的名称不正确。另外
document.forms[“myform”][“MySearchKeywordInput”]
您需要使用表单的名称,不是id。您似乎混淆了
style
属性和
style
属性。您的示例在任何浏览器中都不适用。根据html中的名称,javascript中输入字段的名称不正确。另外
document.forms[“myform”][“MySearchKeywordInput”]
您需要使用表单的名称,而不是id。您似乎混淆了
style
属性和
style
属性。