Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提交时不从表单中的隐藏div标记传递值_Javascript_Jquery_Html_Asp.net Mvc - Fatal编程技术网

Javascript 提交时不从表单中的隐藏div标记传递值

Javascript 提交时不从表单中的隐藏div标记传递值,javascript,jquery,html,asp.net-mvc,Javascript,Jquery,Html,Asp.net Mvc,我有javascript控制某些div标记,这些标记在选中状态时隐藏或显示。然后在提交表单时传递这些值。问题是,div标记中隐藏的字段中的值也会被传递。我如何不传递这些值 我的HTML/Javascript如下所示: <div id="divShortAnswerQuestion"> <h2>Short Answer Question</h2> <!--Question Order--> <asp:Label ID="

我有javascript控制某些div标记,这些标记在选中状态时隐藏或显示。然后在提交表单时传递这些值。问题是,div标记中隐藏的字段中的值也会被传递。我如何不传递这些值

我的HTML/Javascript如下所示:

<div id="divShortAnswerQuestion">
    <h2>Short Answer Question</h2>
    <!--Question Order-->
    <asp:Label ID="Label2" runat="server" Text="Question Order"></asp:Label>
    <%=Html.TextBox("QuestionOrder")%>
    <br />
    <!--Partial Answers-->
    <asp:Label ID="Label5" runat="server" Text="Allow Partial Answers"></asp:Label>    
    <%=Html.RadioButton("PartialAnswers", "1", true) %>Yes
    <%=Html.RadioButton("PartialAnswers", "0", false) %>No
    <br />
    <!--Max Answers-->
    <asp:Label ID="Label6" runat="server" Text="Max Answers (1-10)"></asp:Label> 
    <%=Html.TextBox("Max") %>
    <br />         
    <!--Data Type-->
    <asp:Label ID="Label7" runat="server" Text="Data Type"></asp:Label>
    <%=Html.DropDownList("DataType", new List<SelectListItem>
                     {
                        new SelectListItem{Text="Numeric", Value = "Numeric"}, 
                        new SelectListItem{Text="Alphanumeric", Value = "Alphanumeric"},
                        new SelectListItem{Text="Date", Value = "Date"}
                     }) %>
    <br />
    <!--Question Type-->                         
    <asp:Label ID="Label13" runat="server" Text="Question Type"></asp:Label>
    <%=Html.DropDownList("QuestionType", new List<SelectListItem>
                     {
                        new SelectListItem{Text="Numeric", Value = "6"}, 
                        new SelectListItem{Text="Alphanumeric", Value = "7"}                                                                                  
                     }) %>
</div>

那么,如何在表单提交中不传递空的或隐藏的div标记中的任何元素呢

除了隐藏div之外,还可以禁用其中的输入元素,这些元素将不会发送到服务器:

$('#divMultipleChoiceQuestion').hide();
$('#divMultipleChoiceQuestion :input').attr('disabled', 'disabled');
显示div时,不要忘记重新启用它们:

$('#divMultipleChoiceQuestion').show();
$('#divMultipleChoiceQuestion :input').removeAttr('disabled');
您可以这样做,以避免再次重复代码,因此您只需执行以下操作:

$('#divMultipleChoiceQuestion').toggleVisibility();

别忘了禁用选择功能@Patricia,选择器也包含
元素,所以这没有问题。很高兴知道!我一直在把它们分开!
$('#divMultipleChoiceQuestion').toggleVisibility();