Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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 “提交”按钮在弹出窗口中不起作用_Javascript_C#_Html_Webforms - Fatal编程技术网

Javascript “提交”按钮在弹出窗口中不起作用

Javascript “提交”按钮在弹出窗口中不起作用,javascript,c#,html,webforms,Javascript,C#,Html,Webforms,我在弹出窗口中有一个类似这样的表单: <div id="dialog" title="Rezerwacja"> <asp:TextBox ID="imieTextBox" runat="server" placeholder="Imię"></asp:TextBox> <asp:TextBox ID="

我在弹出窗口中有一个类似这样的表单:

<div id="dialog" title="Rezerwacja">
      
        <asp:TextBox ID="imieTextBox" runat="server" placeholder="Imię"></asp:TextBox>
        <asp:TextBox ID="nazwiskoTextBox" runat="server" placeholder="Nazwisko"></asp:TextBox>
        <asp:TextBox ID="emailTextBox" runat="server" TextMode="Email" placeholder="Email"></asp:TextBox>
        <asp:TextBox ID="telefonKomorkowyTextBox" runat="server" TextMode="Phone" placeholder="Telefon kom."></asp:TextBox>
        <div id="plansza"></div>
        <asp:Button ID="rezerwujButton" runat="server" Text="Zarezerwuj" OnClick="rezerwujButton_Click" />
        
       
   </div> 
   if (Page.IsPostBack)
        {
          
                rezerwacje nowaRezerwacja = new rezerwacje();

                nowaRezerwacja.imie_klienta = imieTextBox.Text;
                nowaRezerwacja.nazwisko_klienta = nazwiskoTextBox.Text;
                nowaRezerwacja.email_klienta = emailTextBox.Text;
                nowaRezerwacja.nrtel_klienta = telefonKomorkowyTextBox.Text;

                bazaDC.rezerwacjes.InsertOnSubmit(nowaRezerwacja);
                bazaDC.SubmitChanges();
           
        }
因此,我必须隐藏代码:

protected void rezerwujButton_Click(object sender, EventArgs e)
    {
        rezerwacje nowaRezerwacja = new rezerwacje();

        nowaRezerwacja.imie_klienta = imieTextBox.Text;
        nowaRezerwacja.nazwisko_klienta = nazwiskoTextBox.Text;
        nowaRezerwacja.email_klienta = emailTextBox.Text;
        nowaRezerwacja.nrtel_klienta = telefonKomorkowyTextBox.Text;

        bazaDC.rezerwacjes.InsertOnSubmit(nowaRezerwacja);
        bazaDC.SubmitChanges();
    }
还有一个问题,提交按钮“rezerwujButton”不起作用。它看起来像一个不可攀爬的或类似的东西。。。我在点击它,什么也没做。。。不刷新页面或任何东西。。。 当我打算在没有弹出窗口的情况下使用该表单时,它会工作,但在弹出窗口中不会。 我试图设置usesubmitbehavior=“false”,但当我这样做时,按钮工作了,发送了一些东西,但每个字段都是空白的。。。我的意思是当我试图得到这样的东西:imitextbox.Text它将是空白的。。。总是。。。 有什么想法吗

@编辑

我不知道我做错了什么? 表单中的字段始终为空

任何人都可以告诉我如何使用正确的回发?因为我必须做些错事

我添加了button UseSubmitBehavior=“fase”,在函数PageLoad中,我得到了如下内容:

<div id="dialog" title="Rezerwacja">
      
        <asp:TextBox ID="imieTextBox" runat="server" placeholder="Imię"></asp:TextBox>
        <asp:TextBox ID="nazwiskoTextBox" runat="server" placeholder="Nazwisko"></asp:TextBox>
        <asp:TextBox ID="emailTextBox" runat="server" TextMode="Email" placeholder="Email"></asp:TextBox>
        <asp:TextBox ID="telefonKomorkowyTextBox" runat="server" TextMode="Phone" placeholder="Telefon kom."></asp:TextBox>
        <div id="plansza"></div>
        <asp:Button ID="rezerwujButton" runat="server" Text="Zarezerwuj" OnClick="rezerwujButton_Click" />
        
       
   </div> 
   if (Page.IsPostBack)
        {
          
                rezerwacje nowaRezerwacja = new rezerwacje();

                nowaRezerwacja.imie_klienta = imieTextBox.Text;
                nowaRezerwacja.nazwisko_klienta = nazwiskoTextBox.Text;
                nowaRezerwacja.email_klienta = emailTextBox.Text;
                nowaRezerwacja.nrtel_klienta = telefonKomorkowyTextBox.Text;

                bazaDC.rezerwacjes.InsertOnSubmit(nowaRezerwacja);
                bazaDC.SubmitChanges();
           
        }
例如,imitextbox.Text始终为空。。。我不知道为什么

编辑
我做完了。我改变了获取模态窗口的方式。我使用了一个弹出窗口,它不会将modal div移动到任何地方,并且可以正常工作。

您可以尝试将您的
rezerwujButton\u单击
方法放入
PageMethods

[ScriptMethod, WebMethod]
public string RezerwujCall() {
    // logic here
    return "ok";
}
然后在js中:

<script type="text/javascript">
      function rezerwuj_clicked() {
          PageMethods.RezerwujCall(function (response) { if(response == "ok"){} }, function(response){ console.log("failed"); });
      }
</script>

函数rezerwuj_()已单击{
RezerwujCall(函数(响应){if(响应==“ok”){}},函数(响应){console.log(“failed”);});
}
这需要将
OnClick=“rezerwujButton\u Click”
更改为
OnClientClick=“rezerwuj\u clicked()”

这种“无事发生”行为的原因是jqueryui对话框小部件将DOM元素移动到
主体,该元素被转换为对话框(在您的例子中是-
$(“\35; dialog”)
)。在此之后,“提交”按钮不再位于
表单
标记内,单击它不会导致任何提交

如果整个
表单
位于对话框内容内,则仍将有效:

<div id="dialog" title="Rezerwacja">
  <form ...>
    ...
    <asp:Button ID="rezerwujButton" runat="server" Text="Zarezerwuj" OnClick="rezerwujButton_Click" />
  </form>
</div>

...

它不应该是
Click=“rezerwujButton\u Click”
而不是
OnClick=“rezerwujButton\u Click”
?什么?你是什么意思?OnClick=“rezerwujButton\u Click”是正确的,但我还有一个问题。。。我无法在div对话框中添加表单,因为在site.master中我已经获得表单。。。。我不能添加更多的标记形式…@ArekWiśniewski-然后您需要首先处理javascript中的按钮单击,并使用适当的参数调用
\uuuuu doPostBack
,这将导致服务器端按钮认为它已被单击。您能解释一下如何实现\uu doPostBack吗?它是如何工作的?@ArekWiśniewski function_uudopostback是由ASP.NET写入您的页面的-嗯。。。我如何使用它?