1

辺りを見回しましたが、これといったものは見つかりませんでした。日付を保持するフィールドがあります。その隣には、時間数を保持するものがあります。

クリックして日付フィールドを評価するには、javascriptが必要です。それが空白の場合は、テキストボックスの値をすぐ左に自動的に空白にします。

私のフォームのコードの一部は次のようになります。

  <td>Day One:</td>
    <td width="250"> <input type=date name="dayone" onClick="document.getElementsByName('hours1')[0].value=8;" /></td>
    <td>Hours: (max 8) <input type="text" name="hours1" id="hours1" class="smalltext" ></td>

その onclick は、テキスト フィールドにデフォルトとして「8」を入力するだけです。したがって、誰かが気が変わって他のフォームフィールドから日付を消去した場合に、それを元に戻す何かがほとんど必要です。

助けてくれてありがとう!

4

3 に答える 3

3

HTML をクリーンに保ち、eventListener-s を使用することをお勧めします - DEMO

HTML

<td width="250">
    <input type=date name="dayone" />
</td>
<td>
    Hours: (max 8)
    <input type="text" name="hours1" id="hours1" class="smalltext" />
</td>

JS

document.getElementsByName('dayone')[0].addEventListener("click", function() {
    document.getElementsByName('hours1')[0].value = 8;
}, false);

document.getElementsByName('hours1')[0].addEventListener("keyup", function() {
    if ( this.value == '' ) {
        document.getElementsByName('dayone')[0].value = '';
    }
}, false);
于 2012-09-18T17:51:54.570 に答える
2

これを試して

<script>
   function clearinput(){
      var el = document.getElementById('hours1');
     el.value = '';
}
</script>

作業フィドルを参照してください

于 2012-09-18T17:48:21.380 に答える
1

onblur イベント ハンドラーを追加するようにコードを変更します。

   <td width="250"> <input type=date name="dayone" onblur="checkValue" onClick="document.getElementsByName('hours1')[0].value=8;" /></td>

そしてハンドラを次のように書く

function checkValue()
{
    var dayValue = document.getElementByName('dayone')[0].value;
    if(dayValue != '')
    {
       document.getElementByName('hours1')[0].value = '';    
    }
}
于 2012-09-18T17:48:45.697 に答える