0

在我的 MVC 应用程序中包含了一个名为 form Field 的按钮。每当用户单击该按钮时,下拉列表就会显示在包含文本、复选框等选项的模式框中。表单字段和下拉列表的代码:

<input type="button" id="FormField" name="Form Field" value="Form Field" style="width: 110px; height: 30px; background-color: #FFFFFF;"  onclick="return FormField_onclick()" />


function FormField_onclick(box) {
             dhtmlx.modalbox({
                 title: "Form Field Creation Tool",
                 text: "<div id='form_in_box'><div ><label>Type: <select id='Type' name='Type'><option>Text</option><option>Checkbox</option><option>Radio</option><option>DropDown</option><option>Listbox</option></select></label><br></div><div><span class='dhtmlx_button'><input type='submit' value='Select' style='width: 86px' onclick='Select_type(this)'></span><span class='dhtmlx_button'><input type='button' value='Cancel' onclick='close_file(this)' style='width:80px;'></span></label></div></div>",
                 width: "300px"
             });  
         }

每当用户从下拉列表中选择特定选项时,例如,如果用户选择文本选项并单击“选择”按钮,则文本框应插入光标位置。选择按钮的代码:

 function Select_type(box) {
             var tp = document.getElementById('Type');

             switch (tp) {
                 case "text":
                     {
                     var editor = CKEDITOR.instances.message;
                        editor.insertHtml('<input type="text" id="tx" name="tx" style="width: 110px; height: 30px" />'); 
                 }
                     break;
                 case "Checkbox": { var editor = CKEDITOR.instances.message;
                                        editor.insertHtml('<input type="checkbox" id="chk" name="chk" value="Checkbox" style="width: 110px; height: 30px" />');} 
                     break;
                 case "Radio": 
                     { 
                 var editor = CKEDITOR.instances.message;
                 editor.insertHtml('<input "radio" id="rd" name="rd" value="radio" style="width: 110px; height: 30px" />');
}
                     break;
                 case "DropDown": alert("DropDown");
                     break;
                 case "Listbox": alert("Listbox");
                     break;
             }              
             dhtmlx.modalbox.hide(box);
         }

但这对我不起作用。即使警报不起作用。而且也不知道如何在其中包含下拉列表和列表

4

2 回答 2

1

您想要打开开关:

document.getElementById('Type').value

而不是它自己的元素,因为它不等于您提供的任何情况。

于 2013-03-29T10:39:02.440 回答
0

如果你想的话,你可以为 switch 语句使用一个对象字面量...

var sw = {
    hello: function () {
        console.log("hello");
    },
    goodbye: function () {
        console.log("goodbye");
    }
}
var str = "hello";
sw[str](); //logs hello

这是一个解释:http ://www.dyn-web.com/tutorials/obj_lit.php

我认为你需要澄清你的问题并适当地标记它......

于 2013-03-29T10:15:30.533 回答