输入无效的功能

时间:2014-02-15 06:48:53

标签: javascript css

我已经为输入字段的占位符功能编写了一个函数。如果我单独编写开/关函数,它会起作用,但在保持输入变量和if构造时它不起作用。请帮助解决语法或逻辑方面的错误。

function placeholder(x) {
    if (x=="1") {
        if (document.getElementById("search_field").value=="") {
            document.getElementById("placeholder").style.display="inline";
        }
    }
    else {
        document.getElementById("placeholder").style.display="none";
        document.getElementById("search_field").focus();
    }
}

<input id="search_field" type="text" value="" onfocus="placeholder(0);" onblur="placeholder(1);">
<span id="field_def" onclick="placeholder(0);" >
    <img src="mag.jpg">
    <p id="placeholder">Search</p>
</span>

3 个答案:

答案 0 :(得分:1)

在评估x时尝试不使用引号1:

 function placeholder(x){
if(x==1){
    if(document.getElementById("search_field").value==""){
    document.getElementById("placeholder").style.display="inline";
    }   
}
else{ 
    document.getElementById("placeholder").style.display="none";
    document.getElementById("search_field").focus();
    }
}

此外,删除&#34;;&#34;在调用函数时:

<span id="field_def" onclick="placeholder(0)">

答案 1 :(得分:1)

您可以使用placeholder属性。它被所有主流现代浏览器接受,可以帮助您免于添加额外的HTML标记和JavaScript代码。

<input type="text" name="someName" placeholder="Some Text">


以下是无法识别placeholder的旧版浏览器的替代方法:

<强> DEMO

<强> HTML:

<input id="search_field" type="text" value="Enter keywords..." onfocus="ph(1);" onblur="ph(0);" onclick="ph(1);">

<强> JavaScript的:

function ph(x) {
    var txtSearch = document.getElementById("search_field");
    if (x == 1) {
        if (txtSearch.value == "Enter keywords...") {
            txtSearch.value = '';
        }
    }
    else {
        if (txtSearch.value == "") {
            txtSearch.value = 'Enter keywords...';
        }
    }
}

答案 2 :(得分:0)

检查功能是否被调用。

如果没有,那就改变它:

<input id="search_field" type="text" value="" onfocus="javascript:placeholder(0)" onblur="javascript:placeholder(1)">