Javascript 将项目添加到<;选择>;在IE5中
我只想回答第一个问题。。。你为什么要问IE5,因为它在我使用的Windows CE设备上,所以我只能使用IE5。我制作的应用程序使用了一个包含几个元素的网页 我有两个文本字段和一个列表或Javascript 将项目添加到<;选择>;在IE5中,javascript,html,Javascript,Html,我只想回答第一个问题。。。你为什么要问IE5,因为它在我使用的Windows CE设备上,所以我只能使用IE5。我制作的应用程序使用了一个包含几个元素的网页 我有两个文本字段和一个列表或 我想将一个文本框的值转移到列表中。我已经让它在IE 10和Chrome中工作,但当我在设备上测试网页时,它没有将textfield 2的值发送到列表中。有人能帮我解决这个问题吗 这是我的html代码: <tr> <td>Locatie:</
我想将一个文本框的值转移到列表中。我已经让它在IE 10和Chrome中工作,但当我在设备上测试网页时,它没有将textfield 2的值发送到列表中。有人能帮我解决这个问题吗
这是我的html代码:
<tr>
<td>Locatie:</td>
<td><input type="text" id="one" onkeyup="CheckOne()" name="locatie" value="{locatie}" /></td>
</tr>
<tr>
<td>Bonregel:</td>
<td><input type="text" name="bonregel" id="two" onkeyup="CheckTwo(event)" /></td>
</tr>
<tr>
<td>Bonlijst:</td>
<td><select id="selectbox" multiple></select></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Verzenden" id="sub" onclick="CheckContent()" /></td>
</tr>
<tr>
<td></td>
<td><input type="button" value="Velden Legen" id="reset" onclick="ClearFields()" /></td>
</tr>
编辑
我发现按钮之所以优先是因为某种原因。我一按回车键按钮就提交。但当我在第二个文本字段中按enter键时,它会将数据发送到列表中。是否有解决方案使按钮不具有优先权
以下是我的全部代码:
在IE5上,您可能需要使用
选项
构造函数,而不是createElement
:
function AddToList(field) {
// Create an Option Object
var val = document.getElementById("two").value;
var opt = new Option(val, val);
document.getElementById("selectbox").options.add(opt);
}
它也适用于现代浏览器
我认为您正在使用的add
,是将选项添加到列表中最兼容的方式,但如果不是这样,您可能需要通过分配来添加选项:
var options = document.getElementById("selectbox").options;
options[options.length] = opt;
…但是,我认为
add
在90年代得到了更好的支持。以下是我的示例代码:
<form name=vv>
<select name="qq"></select>
<input type=button value="Go" onclick="add()">
</form>
function add()
{
var qq = document.vv.qq;
var option = new Option("text", "0");
qq.options[qq.options.length] = option;
}
函数add()
{
var qq=document.vv.qq;
var期权=新期权(“文本”,“0”);
qq.options[qq.options.length]=选项;
}
好吧,我总是觉得回答自己的问题有点奇怪,但我找到了解决问题的方法,我想与帮助我的人分享
我发现在IE5中,
在使用javascript添加项目时并不好用。这就是我使用
存储所有数据的原因。我已将
设置为只读
字段
这是我用来使其工作的Javascript,使用make it work,我的意思是将textbox 2的值添加到textarea中
function AddToList() {
// Create an Option Object
var box = document.getElementById("bonregels");
var val = document.getElementById("two").value.toString();
if (box.value != "")
box.value += "\n";
box.value = box.value + val;
}
谢谢所有帮助我的人,你把我推向了正确的方向 可能值得检查:我认为IE5默认禁用了JavaScript。@Mave感谢您指出这一点,我已经检查了JavaScript是否被禁用,但没有。javascript在我的设备上是启用的,它是
document.getElementById(“selectbox”).add(opt)
?MDN声明添加在上,而不是htmloptionscolection
我已在ENTER键上触发事件,但当我按ENTER键时,该按钮优先并提交项目。但有趣的是,你看到的领域并不是一个事件。你知道一种方法使按钮不起作用吗priority@CKY:不要使按钮成为type=“submitt”
,使用type=“button”
。当您准备提交表单时,在表单元素上调用submit()
。感谢您指出,我发现事件触发得非常快,所以IE5 kant会跟上它。那么,有没有办法推迟这一进程event@CKY:你说的“真快”是什么意思?哪个项目?是的,有很多方法可以延迟对事件的响应,但我看不出你需要在这里响应的任何原因。这怎么可能起作用,我不完全理解。你从哪里得到文本,document.vv.qq是什么意思?vv是表单名(即表单标签中的name=“vv”)qq是旧IE中的字段名(即选择标签中的name=“qq”),它不太支持DOM,所以你的代码不起作用。但是我的代码比你想象的要复杂得多。如果我诚实的话,我会做一把小提琴并把它放在问题中,这对我没有什么帮助。在我的情况下,我使用的是一个文本框,当我按某个特定的键时,应该添加这个项目。这不是粗鲁的行为,我真的很感谢你的帮助,但是小提琴根本不起作用
function AddToList() {
// Create an Option Object
var box = document.getElementById("bonregels");
var val = document.getElementById("two").value.toString();
if (box.value != "")
box.value += "\n";
box.value = box.value + val;
}