IE输入类型文本奇怪的行为

时间:2009-02-05 11:15:53

标签: javascript html internet-explorer

我的页面上有一个谷歌建议实用工具。它会自动填充输入类型文本框之一的值。在IE中,在填充值之后。它不允许鼠标点击其间并且总是跳到最后。还有左右键,光标跳到开头。原因是什么。

由于

<div id='input-div' class='inputblock'>
<form action="javascript:void(0);" name="GetVal">
<table>
<tr>
<td>
<div>
<input id="starttextbox" class="big" onclick="textboxClick(this)"   onblur="textboxBlur(this)" onkeyup="javascript:check_place(this)" type="text" name="start" autocomplete="off"/>
</div>
<div id='suggestdividstart' class='suggestDivClass'></div>
</td>
<td style='cursor:pointer' ><img style='display:none;' id='swaptd' style='cursor:pointer' src='images/swap.png' width='20' height='20' onclick='swaproute();return false;' title='click for reverse route'/>
</td>
<td>
<div>
<input id="endtextbox" class="smallhidden" onclick="textboxClick(this)"  onblur="textboxBlur(this)" onkeyup="javascript:check_place(this)" type="text" name="end" autocomplete="off" />
</div>
<div id='suggestdividend' class='suggestDivClass'></div>
</td><td>
<img  name="GoVid" id="GoVid" onclick="alert('Loading plz. wait')" src='images/locate.gif' tabindex='0' style='cursor:pointer' class="vidteq" value="Locate"  href="javascript:void(0);"/>
</td></tr>
</table>
<div class="help" id="helpdiv"></div>
</form>
</div>

javascript的作用是:

if(whichBox=='start') {
//clearSuggestDiv('start');
document.GetVal.start.value=place_selected_name;
}
else {
//clearSuggestDiv('end');
document.GetVal.end.value=place_selected_name;
}

2 个答案:

答案 0 :(得分:2)

  

原因是什么。

textboxClick()在每次点击时写入input.value。您写入该值,您将失去光标位置。因此,尽可能少地写入.value,除非你能够正确地进行跨浏览器光标处理,这可以从我怀疑的页面上其余脚本的质量来判断。

答案 1 :(得分:0)

您的HTML网页是什么样的?这听起来像是javascript做错了。