JQuery - Ventana modal se despliega al cargar la pagina

 
Vista:
sin imagen de perfil

Ventana modal se despliega al cargar la pagina

Publicado por Nelson (1 intervención) el 12/12/2017 08:05:35
Buenas Tardes.

Tengo un div para que sea una ventana modal con jquery y que se supone lo controlo desde un evento en particular y lo muestro después de dicho evento (Click de un botón). Pero cuando carga la pagina me lo esta desplegando y no entiendo por que. Acá el código. Gracias

Lo invoco desde un botón con:

1
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "Confirm();", true);

El Div:

1
2
3
4
5
6
<div id="dialog-confirm" title="Pruebas" style="display: none;">
    <p>
        <span class="ui-icon ui-icon-alert" style="float:left; margin:12px 12px 20px 0;"></span>
        <asp:Label ID="lblNoEliminar" runat="server" Text=""></asp:Label>
    </p>
</div>
Y el script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
$(function Confirm() {
    $("#dialog-confirm").dialog({
        resizable: false,
        height: "auto",
        width: 400,
        modal: true,
        buttons: {
            "OK": function () {
                $(this).dialog("close");
            }
        }
    });
});
</script>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Enrique
Val: 6
Ha disminuido su posición en 4 puestos en JQuery (en relación al último mes)
Gráfica de JQuery

Ventana modal se despliega al cargar la pagina

Publicado por Enrique (3 intervenciones) el 12/12/2017 16:50:38
Esto pasa por que al poner tu funcion dentro de esta sintaxis $(); hace que se ejecute al moento de cargar la pagina.

Veo que lo estas queriendo abrir con c# asi que te pondre algunas modificaciones y pruebes si funciona:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Si no pones la llamada del método dentro de un etiqueta script puedes generar errores en la pagina y por sobre todo no hará nada 
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "<script>Confirm();</script>", true);
//Para evitar que se ejecute solo el modal solo pondremos la función sola
<script>
function Confirm() {
    $("#dialog-confirm").dialog({
        resizable: false,
        height: "auto",
        width: 400,
        modal: true,
        buttons: {
            "OK": function () {
                $(this).dialog("close");
            }
        }
    });
};
</script>

Creo que con estos cambios debería funcionar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 142
Plata
Ha mantenido su posición en JQuery (en relación al último mes)
Gráfica de JQuery

Ventana modal se despliega al cargar la pagina

Publicado por Horroroso (65 intervenciones) el 12/12/2017 19:46:07
Solo te falta incluir la opcion autoOpen: false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
$(function Confirm() {
    $("#dialog-confirm").dialog({
        resizable: false,
        autoOpen: false,
        height: "auto",
        width: 400,
        modal: true,
        buttons: {
            "OK": function () {
                $(this).dialog("close");
            }
        }
    });
});
</script>

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar