-1

同じ PHP スクリプトを実行する 3 つのテキスト入力ボックスがあります。PHP スクリプトは、それぞれが空かどうかを確認し、検索結果ページを生成します。問題は、スクリプトがいっぱいになった最初の入力ボックスを取得することです。たとえば、A の次に B を入力し、B がアクティブで最後に入力されたときに検索を実行すると、A の結果が返されます。A の次に C、B の次に C を入力しても同じ問題です。

後で変更を加えるのは面倒なので、スクリプトを分割してそれぞれのスクリプトを別々の入力ボックスに添付するという手段に頼ることなく、正しい検索を取得する方法を見つけようとしてきました。

4

1 に答える 1

0

onfocusどのボックスがアクティブかを記録するイベントを各ボックスに添付します。onsubmit次に、どのボックスが最後にアクティブであったかをチェックする をフォームに添付します。他の 2 つを空白にしてから、フォームを送信します。このようなもの(テストされていません):

HTML:

<form action="phpscript.php" onsubmit="checkLastActive();">
Input 1: <input type="text" name="box1" id="box1" onfocus="lastActive=this.id"><br>
Input 2: <input type="text" name="box2" id="box2" onfocus="lastActive=this.id"><br>
Input 3: <input type="text" name="box3" id="box3" onfocus="lastActive=this.id"><br>
<input type="submit">
</form>

JavaScript:

var lastActive="";
function checkLastActive() {
    for (var i=1; i<4; i++) {
        if (lastActive != "box" + i) document.getElementById("box" + i).value="";
    }
}
于 2012-07-06T18:47:17.620 に答える