输入密钥提交iframe的url表单

时间:2012-01-31 21:13:46

标签: iframe textbox enter onkeypress

所以,我有一个文本框,用作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))"/>

2 个答案:

答案 0 :(得分:1)

您可以使用OnSubmit事件处理程序在文本框周围放置一个表单。请务必在处理程序的末尾返回false,以防止它实际提交表单。

答案 1 :(得分:0)

以下脚本应该适合您。在每个按键上按下if语句中的键。如果按下了Enter,则调用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)}"/>