在IE5中将项目添加到<select>

Col*_*lin 5 html javascript

生病只是问题第一个问题...为什么IE5你想知道,因为它在我工作的Windows CE设备上所以我限制使用IE5.我制作的应用程序使用了一个包含几个元素的网页.

我有两个文本字段和一个列表,或者<select> 我想将一个文本框的值传输到列表中.我已经在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>
Run Code Online (Sandbox Code Playgroud)

然后我有我的javascript函数用于将数据添加到列表:

function AddToList(field) {
                // Create an Option Object
                var opt = document.createElement("option");
                document.getElementById("selectbox").options.add(opt);
                opt.text = document.getElementById("two").value;
                opt.value = document.getElementById("two").value;
            }

function CheckTwo(event) {
                var field = document.getElementById("two").value;
                var tKey = (event.which) ? event.which : event.keyCode;
                if (tKey == 51) {
                    AddToList(field);
                    GiveFocus("two");
                }
            }



// Gives focus to the specified component
            function GiveFocus(id) {
                document.getElementById(id).focus();
            }

            // Action that gets triggered by textfield 1
            function CheckOne() {
                if (event.keyCode == 13)
                    GiveFocus("two");
            }
Run Code Online (Sandbox Code Playgroud)

编辑

我已经发现按钮优先于某种原因.按下输入后,按钮会立即提交.但是当我在第二个文本字段中按Enter键时,它应该将数据发送到列表.有没有解决方案,所以按钮不优先

下面是我的完整代码的小提琴:https: //jsfiddle.net/3jywt8v1/1/

Col*_*lin -1

好吧,我总是觉得自己提出问题有点奇怪,但我找到了解决问题的方法,并且我想与帮助我的人分享。

我发现在 IE5 中<select>使用 javascript 添加项目并不是很好用。这就是为什么我使用 a<textarea>来存储所有数据。我已经创建了<textarea>一个readonly字段。

这是我用来让它工作的 Javascript,而让它工作我的意思是将文本框 2 的值添加到文本区域中。

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;                    
            }
Run Code Online (Sandbox Code Playgroud)

感谢所有提供帮助的人,你们把我推向了正确的方向。