En mi página del lado del servidor, tengo una secuencia de comandos heredada que quiero modificar para probar si un campo está en blanco antes de abrir la ventana de confirmación. Esto es lo que intenté, agregando $ (# hdfldRecId) porque si este campo está en blanco, no quiero que se abra la confirmación.

    scriptBlock = "function beforeDelete()" & vbCrLf & _
                      "{return($('#hdfldRecId').val() !> '' && confirm('Are you sure you want to delete this item?'));}"
If (Not ClientScript.IsClientScriptBlockRegistered("deletePromptScript")) Then
            ClientScript.RegisterClientScriptBlock(Me.GetType(), _
                                                   "deletePromptScript", _
                                                   scriptBlock, _
                                                   True)
End If

    'use the OnClientClick property of the button to cause the above
    'script to be executed when the button is clicked

btndelete.OnClientClick = "return(beforeDelete());"

Cuando ejecuto la página, la depuración indica que faltan () pero todos los emparejamientos coinciden.

<script type="text/javascript">
//<![CDATA[
function beforeDelete()
{return($('#hdfldRecId').val() !> '' && confirm('Are you sure you want to delete this item?'));}//]]>
</script>

Entonces, no estoy seguro de cómo agrego esta prueba para ver si hay un valor en $ (hdfldRecId) y si lo hay, ejecute el diálogo de confirmación.

Gracias

0
Tom S 5 sep. 2014 a las 19:18

2 respuestas

La mejor respuesta

Return no es un método, así que deshazte de (y).

"return beforeDelete();" 

Y no estoy seguro de qué se supone que es. Supongo que quieres comprobar la longitud

function beforeDelete() { 
    return $('#hdfldRecId').val().length && confirm('Are you sure you want to delete this item?');
}
1
epascarello 5 sep. 2014 a las 15:25

¿Has probado:

btndelete.OnClientClick = "beforeDelete;"

O de hecho:

btndelete.OnClientClick = "return beforeDelete();"

Además de arreglar el error tipográfico que epascarello señaló.

0
ne1410s 5 sep. 2014 a las 15:34