2

そのため、iframe のアドレス バーとして使用されるテキスト ボックスがあります。以前は、次のスクリプトで「GO」ボタンが必要でした。

<script language="javascript"> 
   function LoadPage(){ 
     var objFrame=document.getElementById("myIframe"); 
     objFrame.src=document.getElementById("URL").value;
    }
  </script>

「GO」ボタンのコード:

<input type="image" src="http://polaris.umuc.edu/~mahearn/images/arrowbutton.png"
            height="20" width="20" class="frmSubmit" value="Go" onclick="LoadPage()" />

ユーザーがテキストボックスに入力中に「ENTER」を押すと、そのコードがアクティブになるようにします。

これは私が試したものです。何が起こったのかというと、キーを押してイベントをアクティブにするのではなく、テキスト ボックスをクリックすると、イベントがアクティブになりました。

input type="text" value="http://" class="frmUrlVal" id="URL1" onkeypress="return (LoadPage(1))"/>
4

2 に答える 2

1

OnSubmitイベント ハンドラを使用して、テキスト ボックスの周りにフォームを配置できます。falseハンドラーが実際にフォームを送信しないように、必ずハンドラーの最後に戻ってください。

于 2012-01-31T21:21:56.260 に答える
0

以下のスクリプトはあなたのために働くはずです。キーを押すたびに、if ステートメントでキーが評価されます。Enter キーが押された場合、LoadPage が呼び出されますが、それ以外のキーは呼び出されません。Loadpage を修正して、例の購入のアラートになるようにしました。jsfiddle の作業: http://jsfiddle.net/zBD8V/

   <script language="javascript">
    function LoadPage() {
        alert('LoadPage() would execute here');
    }

    function DetectEnterPressed(e) {
        var characterCode
        if (e && e.which) { // NN4 specific code
            e = e
            characterCode = e.which
        }
        else {
            e = event
            characterCode = e.keyCode // IE specific code
        }
        if (characterCode == 13) return true // Enter key is 13
        else return false
    }
  </script>
<input type="text" value="http://" class="frmUrlVal" id="URL1" onkeypress="if(DetectEnterPressed(event)){LoadPage(1)}"/>
于 2012-02-14T08:53:42.500 に答える