Javascript 输入不起作用的函数
我已经为输入字段的占位符功能编写了一个函数。如果我单独编写开/关函数,它就可以工作,但是当保留输入变量和Javascript 输入不起作用的函数,javascript,css,Javascript,Css,我已经为输入字段的占位符功能编写了一个函数。如果我单独编写开/关函数,它就可以工作,但是当保留输入变量和ifconstruct时,它就不工作了。请帮助了解语法或逻辑方面的错误 function placeholder(x) { if (x=="1") { if (document.getElementById("search_field").value=="") { document.getElementById("placeholder").st
if
construct时,它就不工作了。请帮助了解语法或逻辑方面的错误
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();
}
}
搜索
在计算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();
}
}
调用函数时,请删除“;”:
<span id="field_def" onclick="placeholder(0)">
<input id="search_field" type="text" value="Enter keywords..." onfocus="ph(1);" onblur="ph(0);" onclick="ph(1);">
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...';
}
}
}
您只需使用
占位符
属性即可。它被所有主要的现代浏览器所接受,并且可以避免您添加额外的HTML标记和JavaScript代码
<input type="text" name="someName" placeholder="Some Text">
JavaScript:
<span id="field_def" onclick="placeholder(0)">
<input id="search_field" type="text" value="Enter keywords..." onfocus="ph(1);" onblur="ph(0);" onclick="ph(1);">
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...';
}
}
}
检查是否调用了该函数 如果没有,则进行更改:
<input id="search_field" type="text" value="" onfocus="javascript:placeholder(0)" onblur="javascript:placeholder(1)">
它与html5之后的旧浏览器不兼容。我看到很多网站同时使用占位符属性和javascript,它们在支持html5的浏览器上相互重叠。我们必须再次检查兼容性并使用合适的浏览器。你不觉得这太费劲了吗?@Sagi_Avinash_Varma查看了旧浏览器兼容性的编辑。