我想在新闻稿脚本中添加一个小功能,但我无法正确完成,因为它会导致Dreamweaver出错:
我的原始代码:
$data.='<input style="float:left; margin-right:10px;" type="text" id="'.$formidreal.'-wysija-to" class="'.$classValidate.'" name="wysija[user][email]" />';
我想补充以下内容:
value="example@email.com" onblur="if (this.value == ''){this.value = 'example@email.com'; }" onfocus="if (this.value == 'example@email.com') {this.value = ''; }"
我很确定必须采用不同的格式才能在PHP中工作,尽管我无法弄明白。
非常感谢一些专家建议。
非常感谢, 帕特里克
答案 0 :(得分:1)
一些建议不是将完整的javascript放在你的html属性中。
尝试调用函数,然后在函数内部执行逻辑。
如果你使用像jQuery的选择器之类的东西将两者分开,那就更加简洁了。 :)
答案 1 :(得分:1)
你应该这样写:
value="example@email.com" onblur="if (this.value == \'\'){this.value = \'example@email.com\'; }" onfocus="if (this.value == \'example@email.com\') {this.value = \'\'; }"
答案 2 :(得分:1)
我知道你在这里想做什么。
考虑使用HTML5 Placeholder,这更具语义性(或者如果你支持I.E 7.0支持,也许JS可以)。
如果您对JQuery感到满意,请使用它。
如果没有,请学习它。
如果现在还不能学习......那么,PHP代码应该是:
$data.='<input style="float:left; margin-right:10px;" type="text" id="'.$formidreal.'-wysija-to" class="'.$classValidate.'" name="wysija[user][email]"." value=\"example@email.com\" onblur=\"if (this.value == ''){this.value = \'example@email.com\'; }\" onfocus=\"if (this.value == \'example@email.com\') {this.value = ''; }\"" />';
但是,我仍然建议您不要选择INLINE JS。
PS:我可能在代码中犯了一个错误,但逻辑是使用
逃避\
表示您希望在HTML中显示但未编译为字符串的结尾或开头的单引号和双引号。
希望有所帮助。 :)