Javascript在php代码中不起作用

Javascript won't work in php code

本文关键字:不起作用 代码 php Javascript      更新时间:2023-09-26

我有这段代码,它当然不能显示在php echo中,因为"和"。但我仍然想要那种效果,当你按下输入时,输入值就会消失,诸如此类。我该怎么做?这是我的代码,困扰着我:

<input name="navn" size="33" style="background-color: rgba(39, 36, 28, 0.8); border:none; height:45px; width:450px; color:#b5aa83; padding:15px; font-size:16px; font-weight:bold;" value="Navn" onblur="if (this.value == '') {this.value = 'Navn';}"
 onfocus="if (this.value == 'Navn') {this.value = '';}">

简单转义你的引号

echo "<input name='"navn'" size='"33'" style='"background-color: rgba(39, 36, 28, 0.8); border:none; height:45px; width:450px; color:#b5aa83; padding:15px; font-size:16px; font-weight:bold;'" value='"Navn'" onblur='"if (this.value == '') {this.value = 'Navn';}'"
 onfocus='"if (this.value == 'Navn') {this.value = '';}'">";

误解了这个问题,忽略了。

你应该把你的函数包装到一个外部的JS文件中,你的CSS也是如此。看来你正在尝试创建一个占位符,对吗?也许你应该简单地使用HTML的"占位符"属性。

除非您在使用外部函数时通过"this"将其传递给函数,否则无法访问输入。我不确定为什么您的函数在内联时无法识别它,但是作为将此作为参数传递的外部函数,它可以工作:

Javascript:

function onFocus(input){
  console.log(input.value);
  if(input.value === 'Navn'){
    input.value = '';
  } 
  console.log("On focus");
}

.HTML:

<input name="navn" size="33" style="background-color: rgba(39, 36, 28, 0.8); border:none; height:45px; width:450px; color:#b5aa83; padding:15px; font-size:16px; font-weight:bold;" value="Navn" onblur="onBlur(this);" onfocus="onFocus(this);">

http://jsbin.com/feqanopepi/edit?html,js,console,output