Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 asp.net表单字段在引导模式下返回空_Javascript_Jquery_Asp.net_Twitter Bootstrap - Fatal编程技术网

Javascript asp.net表单字段在引导模式下返回空

Javascript asp.net表单字段在引导模式下返回空,javascript,jquery,asp.net,twitter-bootstrap,Javascript,Jquery,Asp.net,Twitter Bootstrap,我正在尝试在引导模式中提交asp.net表单。出于某种原因,所有字段都返回空(如果我尝试使用模式之外的字段,效果会很好)。我看过一些关于它的帖子,但没有一个解决方案解决了我的问题 <div class="modal fade" id="myModalForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static"> <div

我正在尝试在引导模式中提交asp.net表单。出于某种原因,所有字段都返回空(如果我尝试使用模式之外的字段,效果会很好)。我看过一些关于它的帖子,但没有一个解决方案解决了我的问题

<div class="modal fade" id="myModalForm" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
          <h4 class="modal-title" id="myModalLabel">EDIT ADVERTISMENT</h4>
        </div>
        <div class="modal-body">

        <form id="updateadform" method="post" action="#" class="basic-form" >
          <label for="title">Ad Name</label>
            <asp:TextBox ID="modaltbadname" runat="server" placeholder="Ad Name"></asp:TextBox>
            <label for="title">Promotional Text</label>
            <asp:TextBox id="modaltbtbpromotional" TextMode="multiline"  Rows="3" runat="server" />
          <label for="description">Page</label>
            <asp:DropDownList ID="modalddpage" placeholder="Insert the page the ad refers to" runat="server"></asp:DropDownList>
          <label for="finish-date">Start Date</label>
            <asp:TextBox ID="modaltbstartdate" runat="server" placeholder="20/01/2014" CssClass="datepicker" onchange="Page_ClientValidate();"></asp:TextBox>
          <label for="finish-date">End Date</label>
            <asp:TextBox ID="modaltbenddate" runat="server" placeholder="20/01/2014" CssClass="datepicker" onchange="Page_ClientValidate();"></asp:TextBox>
               <asp:CompareValidator id="CompareValidator1" runat="server" ControlToCompare="modaltbstartdate" cultureinvariantvalues="true" display="Dynamic" enableclientscript="true"  ControlToValidate="modaltbenddate" ErrorMessage="Start date must be earlier than finish date" type="Date" setfocusonerror="true" Operator="GreaterThanEqual" text="Start date must be earlier than finish date"></asp:CompareValidator>

          <div class="right-side">
          </div>

          <div class="clearfix"></div>

        </form>

        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          <asp:Button type="button" ID="savead"   CssClass="btn btn-primary" runat="server" Text="Save Changes" OnClick="savead_Click" OnClientClick="savevariables()" UseSubmitBehavior="false" />
        </div>
      </div>
    </div>
  </div>

模式不会影响发送到服务器的值。但是,您需要在模式中手动指定
标记。我假设在您发布的标记或母版页上的某个地方有一个
,并且您可能会在表单中意外地嵌套一个表单

删除模式内的表单标记,值应正确保存

评论后编辑:


确保与初始
匹配的结束
标记帮助我将所有多余的
标记替换为

感谢您的回答!你说的对,但是我认为问题是模态被附加到主体上,这意味着它不是我的ASP形式,这就是为什么没有捕捉到值的原因。尝试删除表单,但无效。再次感谢!我尝试添加isPostback,但调试时没有找到它。另外,OnClientClick函数是一个测试函数,用于查看我是否在客户端获得这些变量,并且没有删除它们。无论如何,我删除了它,但它仍然不起作用:(很抱歉,如果不清楚的话-iPostback建议只是为了确保您没有更改页面加载的值,因为在asp.net webforms页面生命周期中,页面加载事件在单击事件之前命中,因此有时您可能会意外地覆盖这些值(但情况似乎并非如此)。我想不出任何其他原因-我猜这仍然与表单中没有嵌套文本框有关。如果使用chrome浏览器开发工具或fire bug,您可以检查发送到服务器的表单值(按f12并查看网络选项卡)我很确定你是对的,这就是问题所在。modal div在表单后面,而不是在表单里面。我在我的文档上尝试了$(“#myModalForm”)。appendTo(“#form1”);ready函数,但它似乎不起作用。知道我做错了什么吗?再次感谢你的帮助!这里有一个在表单中移动modal的修复程序
protected void savead_Click(object sender, EventArgs e)
{
    string x = idtoupdate.Value; // this field is outside of the modal - returns its correct value
    string y = modaltbadname.Text; //returns ""

    DB.UpdateAd(modaltbadname.Text, modaltbtbpromotional.Text, modalddpage.SelectedValue, modaltbstartdate.Text, modaltbenddate.Text, int.Parse(idtoupdate.Value));
}
if(!Page.IsPostBack)
{
     modaltbadname.Text = "value";
}