0

不動産検索フォームを作成していますが、寝室の数については、ユーザーが数字を入力するまで最小値と最大値を表示するフィールドがあります。このコードを使用してこれを行います。

<input type="text" name="room_no_min" id="room_no_min" value="Min" onblur="if(this.value=='')this.value='Min'" onFocus="if (this.value == 'Min') {this.value=''};" class="min_input">

<input type="text" name="room_no_max" id="room_no_max" value="Max" onblur="if(this.value=='')this.value='Max'" onFocus="if (this.value == 'Max') {this.value=''};" class="min_input">

ただし、何も入力せずに結果が表示されると、最小ボックスは空で表示されますが、最大ボックスには引き続き最大が正しく表示されます。結果を表示するには、次のコードを使用します。

    //check bedrooms
if(!empty($_GET["room_no_min"]) && is_numeric($_GET["room_no_min"])){
     $query[] = "'No_Bedrooms' >= '".$_GET["room_no_min"]."'";
     $room_min_val = $_GET["room_no_min"];
}
    if(!empty($_GET["room_no_max"])){
     $query[] = "'No_Bedrooms' <= '".$_GET["room_no_max"]."'";
     $room_max_val = $_GET["room_no_max"];
}

に続く

<input type="text" name="room_no_min" id="room_no_min" value="<?php echo $room_min_val?>" value="Min" onblur="if(this.value=='')this.value='Min'" onFocus="if (this.value == 'Min') {this.value=''};" class="min_input">

<input type="text" name="room_no_max" id="room_no_max" value="<?php echo $room_max_val?>" value="Max" onblur="if(this.value=='')this.value='Max'" onFocus="if (this.value == 'Max') {this.value=''};" class="min_input">

問題が発生する可能性が高い場所は、最小値のスクリーニングの is_Numeric 部分であることは知っていますが、それを機能させる方法を理解できないようです。

解決策はありますか?

4

1 に答える 1

0

HTML タグのプレースホルダーを使用しないのはなぜですか?

<input type="text" name="room_no_min" id="room_no_min" placeholder="Min" class="min_input">

これにより、多くの頭痛が解消されます。

于 2013-02-27T13:51:41.620 に答える