0

私はフォームを持っています、私はしたいです:
1- デフォルトとして内部に名前を入れます
2- 誰かがフォームをクリックすると、デフォルトのテキストが出てきて、彼らは書くことができます. 彼らが書いたテキストの外側をクリックしても、まだそこに送信されます。
3-誰かが何も書かずに外側をクリックすると、デフォルトの名前が戻ってきます

私は試しました: onblur="(this.value='nom') しかし、ユーザーが書き込んで外側をクリックすると、書いたものが削除されます。

<form>
<input type="text" name="titol" value="nom" onClick="(this.value='')"  " />
</form>

ここに例があります: http://jsbin.com/aposun/1/edit

4

3 に答える 3

2

入力を変更します。

<input type="text" name="titol" value="nom" 
   onfocus="if (this.value=='nom') this.value = '';" 
   onblur="if (this.value=='') this.value = 'nom';"
/>

placeholderHTML5 では、代わりに次を使用できます。

<input type="text" id="titol" name="titol" placeholder="nom" />
于 2012-08-31T08:34:55.313 に答える
0

最後の2つの返信で述べたようにHTML5要素のプレースホルダーを使用できますが、古いブラウザーやIEブラウザーのサポートが必要な場合は、JavaScriptの代替手段も使用する必要があります。ただし、必須フィールドである場合、検証に関しては少し面倒になる可能性があるため、注意してください。値を入力せず、代わりにヘルプアイコンを表示したいと思います。

ただし、これはjavascriptの実行方法に関する優れた記事です。Javascriptのデフォルトテキスト

于 2012-08-31T08:39:11.330 に答える
0

As they have said above you can use the placeholder attribute in html5, I'm not really sure about the browser support though so I've modified your code and simply compare what you have as your default value, if its the default value it won't clear the text field:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>

<form>
<input type="text" name="titol" id="titol"   /><br />
</form>

</body>
  <script>
    var val = "nom";
    var titol = document.getElementById('titol');
    titol.value = val;

    titol.addEventListener('click', function(){
      if(this.value == val){
         this.value = "";
      }
    });
  </script>
</html>
于 2012-08-31T08:41:47.397 に答える