Предотвращать двойную порцию submit в полях с утверждением

Я реализую проект в asp.net с boostrap, html и css.

У меня есть код, чтобы скрывать кнопки, дав им клик для того, чтобы в момент обрабатывания пользователь не смог давать ему клик больше раз, функционируй хорошо, только, что после того, как считает санкционированными поля, если эти поля пустые, не выполняет действие кнопки, но равного способа скрывается кнопка и нет способа это дезактивировать.

Есть какой-то способ не дезактивировать кнопку, если поля не санкционированы?

Это мой код:

<div class="pricing-month" >
    <p class="bts">Complete los siguientes campos y adjunte su CV en formato .doc, .docx o .pdf</p>
    <asp:TextBox runat="server" ID="txtNombre1" CssClass= "form-control" placeholder = "Nombre completo" CausesValidation="True"></asp:TextBox>
    <asp:RequiredFieldValidator ID="rfNombre1" runat="server" ErrorMessage="Debe capturar los campos solicitados" ValidationGroup="VG1" ControlToValidate="txtNombre1"></asp:RequiredFieldValidator>
    <br/>
    <asp:TextBox runat="server" ID="txtEmail1" CssClass= "form-control" placeholder = "E-mail para contacto" CausesValidation="True" TextMode="Email"></asp:TextBox>
    <asp:RequiredFieldValidator ID="rfEmail1" runat="server" ErrorMessage="Debe capturar los campos solicitados" ControlToValidate="txtEmail1" ValidationGroup="VG1"></asp:RequiredFieldValidator>
    <hr/>
    <asp:FileUpload ID="FileUpload1" runat="server" CssClass="fup"/>
    <hr/>
    <script >
        function deshabilitar(boton) {
                document.getElementById(boton).style.visibility = 'hidden';
        }
    </script>
    <asp:Button ID="btnPost1" runat="server" Text="Postularse" CssClass="btn btn-default section-btn" OnClick="btnPost1_Click" causesvalidation="true" ValidationGroup="VG1" OnClientClick = "deshabilitar(this.id)" Visible="true"/>

 </div>

Я это попробовал обеих форм, но я не функционировала ни одна, я изменил немного мой код и вот то, что у меня есть:

<div class="pricing-month" >
                            <p class="bts">Complete los siguientes campos y adjunte su CV en formato .doc, .docx o .pdf</p>
                            <asp:TextBox runat="server" ID="txtNombre1" CssClass= "form-control" placeholder = "Nombre completo" CausesValidation="True"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="rfNombre1" runat="server" ErrorMessage="Debe capturar los campos solicitados" ValidationGroup="VG1" ControlToValidate="txtNombre1"></asp:RequiredFieldValidator>
                            <br/>
                            <asp:TextBox runat="server" ID="txtEmail1" CssClass= "form-control" placeholder = "E-mail para contacto" CausesValidation="True" TextMode="Email"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="rfEmail1" runat="server" ErrorMessage="Debe capturar los campos solicitados" ControlToValidate="txtEmail1" ValidationGroup="VG1"></asp:RequiredFieldValidator>
                            <hr/>
                            <asp:FileUpload ID="FileUpload1" runat="server" CssClass="fup"/>
                            <hr/>
                            <script >
                                function deshabilitar(boton) {
                                    if (!$('<%= txtNombre1.ClientID %>').val() || !$('<%= rfNombre1.ClientID %>').val() || !$('<%= txtEmail1.ClientID %>').val() || !$('<%= rfEmail1.ClientID %>').val()) {
                                        document.getElementById(boton).style.visibility = 'hidden';
                                    }
                                    else {
                                        document.getElementById(boton).style.visibility = 'visible';
                                    }
                                }
                            </script>
                            <asp:Button ID="btnPost1" runat="server" Text="Postularse" CssClass="btn btn-default section-btn" OnClick="btnPost1_Click" causesvalidation="true" ValidationGroup="VG1" OnClientClick = "deshabilitar(this.id)" Visible="true"/>
                         </div>

Теоретически оно было бы должно функционировать, так как я говорю ему, чтобы, если какое-либо из полей пустое, он не спрятал кнопку.


спасибо за ответ. Я это попробовал, но он следует за мной, не функционируя, продолжает блокировать поле, если поля не санкционированы, код остался таким:

<div class="pricing-month" >
                            <p class="bts">Complete los siguientes campos y adjunte su CV en formato .doc, .docx o .pdf</p>
                            <asp:TextBox runat="server" ID="txtNombre1" CssClass= "form-control" placeholder = "Nombre completo" CausesValidation="True"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="rfNombre1" runat="server" ErrorMessage="Debe capturar los campos solicitados" ValidationGroup="VG1" ControlToValidate="txtNombre1"></asp:RequiredFieldValidator>
                            <br/>
                            <asp:TextBox runat="server" ID="txtEmail1" CssClass= "form-control" placeholder = "E-mail para contacto" CausesValidation="True" TextMode="Email"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="rfEmail1" runat="server" ErrorMessage="Debe capturar los campos solicitados" ControlToValidate="txtEmail1" ValidationGroup="VG1"></asp:RequiredFieldValidator>
                            <hr/>
                            <asp:FileUpload ID="FileUpload1" runat="server" CssClass="fup"/>
                            <hr/>
                            <script >
                                function deshabilitar(boton) {
                                    if(!$("#txtNombre1").val() && !$("#rfNombre1").val() && !$("#txtEmail1").val() && !$("#rfEmail1").val()) 
                                    {
                                        document.getElementById(boton).style.visibility = 'hidden';
                                    }
                                }
                            </script>
                            <asp:Button ID="btnPost1" runat="server" Text="Postularse" CssClass="btn btn-default section-btn" OnClick="btnPost1_Click" causesvalidation="true" ValidationGroup="VG1" OnClientClick = "deshabilitar(this.id)" Visible="true"/>
                         </div>

Не, если он был немного плохой.

Привет,

6
задан 22.02.2019, 06:38
2 ответа

Ты recomendarГ, - чтобы использовать формуляр html5 с Вашими соответствующими признаками validaciГіn asГ - он ты будет mГЎs легко санкционировать поля и знание, когда estГЎn все санкционированные, с этой instrucciГіn ты можешь знать, если все поля estГЎn санкционированные

const $form = document.getElementById('form-id'); 
if(! $form.checkValidity()){
   document.getElementById('boton').style.visibility = 'hidden';
}else{
   document.getElementById('boton').style.visibility = 'visible';
}
1
ответ дан 19.11.2019, 23:14

Изменяя условную тебя cГіdigo, я предлагаю эту soluciГіn:

function deshabilitar(boton) {
    if($("#txtNombre1").val() != '' && $("#txtEmail1").val() != '') 
    {
        document.getElementById(boton).style.visibility = 'hidden';
    }
}
-1
ответ дан 19.11.2019, 23:14
  • 1
    Если ты мог añ adir краткая одна explicació n твоего có я говорю твой ответ quedarí в гораздо лучше. – Bender Paisa 15.07.2019, 11:43
  • 2
    Спасибо Ангел, важно проверять CГіmo отвечать во время реализации ответов, привета. – Jorgesys♦ 15.07.2019, 15:05

Теги

Похожие вопросы