0
<input type="text" 
       name='username'  
       onblur="if(this.value=='')this.value='Username';" 
       onfocus="if(this.value=='Username')this.value='';"
       value="Username" 
       class="register"/>

これは私が使用しているコードですが、私のコードのセットアップ方法では、ユーザーが情報を入力する前にテキストをフィールドに表示できるようにしたいのですが、フォームが現在セットアップされている方法は

value="<?php echo $db_first_name; ?>"

しかし、私が使用しているコードは必要です

value="Username"

ユーザーがクリックする前にフィールドにユーザー名を表示し、独自の情報を入力します。

私は試した

value="Username<?php echo $db_first_name; ?>" 

しかし、明らかにそれはうまくいきませんでした。何か案は?

フォームの機能を表示するためのリンク: http://odconnect.com/beta/registration2.php

4

2 に答える 2

4

属性を試してくださいplaceholder(HTML5 以降有効):

<input type="text" name="username" id="username" placeholder="Username" value="<?= $db_first_name; ?>" />

別の方法として (つまり、ブラウザが HTML5 をサポートしていないユーザーをサポートしたい場合)、ユーザーが既にユーザー名を入力しているかどうかをテストできます。または空の文字列の場合nullは、値を「Username」に設定します。それ以外の場合は、値を の値に設定します$db_first_name。次に onBlur イベントを変更して、フィールドの値の長さを確認し、長さがゼロの場合は「Username」と表示するようにします。最後に、onFocus イベントを変更して、マウス クリックをリッスンします。ユーザーがフィールドにフォーカスを移したときに、値を空の文字列に設定します。

<input type="text" name="username" id="username" value="<?= $db_first_name == "" ? "Username" : $db_first_name ?>" onBlur="checkUsernameBlur(this, 'Username');" onFocus="checkUsernameFocus(this, 'Username');" />

<script type="text/javascript" language="javascript>
    function checkUsernameBlur(inputObj, label) {
        var strLen = inputObj.value.length;
        if (strLen == 0) {
            inputObj.value = label;
        }
    }

    function checkUsernameFocus(inputObj, label) {
        var value = inputObj.value;
        if (value == label) {
            inputObj.value = "";
        }
    }
</script>
于 2012-08-13T18:59:51.207 に答える
-1

html5 だけでなく下位の html バージョンで作業するには、3 つの場所すべてのユーザー名テキストを必要な単語または php 変数に変更します。

<input type="text"  name='username'  name='username' onblur="if(this.value=='')this.value='<?php echo $db_first_name; ?>';" onfocus="if(this.value=='<?php echo $db_first_name; ?>')this.value='';" value="<?php echo $db_first_name; ?>" class="register"/>
于 2012-08-13T19:13:58.837 に答える