none
Agregar confirmación a boton de envio de formulario

    Question

  • Saludos, necesito crear agregar una confirmación a un boton de envio de formulario, que una vez validada la página me permita enviar los datos al servidor.

    Mi problema es que el confirm( ) se ejecuta en el cliente y luego el envio en el servidor, y no hay manera de condicionar uno con el otro.

    Aqui tengo un extracto del código de prueba:


    Prueba.aspx

    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>


    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
    ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="Campo Requerido">*</asp:RequiredFieldValidator>
    <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">LinkButton</asp:LinkButton>

    Prueba.aspx.cs

    Page_Load(object sender, EventArgs e)
    {
    Page.Validate()

    LinkButton1.Attributes.Add("onclick","return confirm('Confirme agregar estos datos')");
    }

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
    TextBox1.Text = "pasé";
    }
    Monday, June 23, 2008 4:09 PM

All replies

  • Hola, a ver si puedo ayudar,

     

    Si es la respuesta que buscabas, marcala como correcta.

     

    Bueno, es correcto que con los valores por defecto que trae el button de ASP.Net esto no es posible pero modificando la propiedad UseSubmitBehavior y agregando el confirm en el OnClientClick estaríamos logrando el efecto esperado.

    Aca debajo te dejo un ejemplo para que sea mas clara aún la idea.

    El siguiente ejemplo se realizará con un Button de asp.net en caso de ser un LinkButton omitir this._testBtn.UseSubmitBehavior = true; y directamente asignar el confirm a la propiedad OnClientClick tal cual esta en este ejemplo, el efecto esperado será el mismo.

     

    aspx

    Code Snippet

    <asp:TextBox ID="_testTxt" runat="server"></asp:TextBox>

    <asp:RequiredFieldValidator runat="server" ID="_testTxtValidator" ControlToValidate="_testTxt" Display="Dynamic">*</asp:RequiredFieldValidator>

    <asp:Button ID="_testBtn" runat="server" Text="Ir" OnClick="_testBtn_Click" />

     

     

    Codebehind

    Code Snippet

    public partial class _Default : System.Web.UI.Page

    {

    protected void Page_Load(object sender, EventArgs e)

    {

    this._testBtn.UseSubmitBehavior = true;

    this._testBtn.OnClientClick = "if(!confirm('Esta seguro que desea continuar')){return false;}";

    }

    protected void _testBtn_Click(object sender, EventArgs e)

    {

    Response.Write("Ok");

    }

    }

     

     

    Si es la respuesta que buscabas, marcala como correcta.

     

    Saludos,

     

    Fer Antivero.-

    Tuesday, June 24, 2008 3:20 AM