dreamy6301 2016-03-21 11:33
浏览 6
已采纳

Javascript将无法在PHP代码中工作[关闭]

I have this code, and it of course cannot show inside the php echo, because of the "" and ''. But I still want that effect, when you press the input the input value goes away, and that kind of thing. How can I do so? This is my code, that is bugging me:

<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 = '';}">

</div>
  • 写回答

2条回答 默认 最新

  • douzai2562 2016-03-21 11:49
    关注

    Misunderstood the question, disregard.

    You should wrap your functions into an external JS file, your CSS also. It seems you're trying to create a placeholder, am I right? Maybe you should simply use HTML's "placeholder" attribute.

    The input is not accessible unless you pass it to the function via "this" when using an external function. I'm not sure why your function does not recognize it when it's inline, but as external function with this passed as parameter, it works:

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?