2010-01-01 12 views
9

acabo escribió una confirman función que requiere un nombre de clase borrar:¿Estás seguro de que deseas eliminar?

jQuery(document).ready(function($) { 
    $('.ConfirmDelete').click(function() { 
     var question = $(this).attr('title'); 
     if (question == '') question = 'Delete this record?'; 
     return confirm(question); 
    }); 
}); 

Uso:

<input name="Delete" type="submit" value="Delete" class="ConfirmDelete" title="Delete #UsrName#?" /> 

me gustaría cambiar el selector de .ConfirmDelete a algo como:

$('input:submit').attr('name','Delete').val('Delete') 

Significado: Si un botón Enviar tiene el nombre 'Eliminar' y su valor es 'Eliminar', entonces continúe y suponga que ellos quieren engañar Firme la eliminación sin requerir que tengan una clase ConfirmDelete.

+0

Puede usar una etiqueta de datos html5, data-delete = "true", luego use jQuery para encontrarlos. – ShiftyThomas

+0

Nah. Siempre que sea un botón de envío con el nombre de "eliminar" con un valor de "eliminar", quiero que confirme "¿Está seguro?" Antes de enviar el formulario. –

Respuesta

14
$(':submit[name="Delete"][value="Delete"]').click(function() { 
    return window.confirm(this.title || 'Delete this record?'); 
}); 
+0

Esta respuesta se escribió en 2010. Utilizaría $ ('form'). On ('click', 'input: submit [name = Delete] [value = "Delete"]', function() {}) now. –

+2

Como en su empresa? Bueno, está bien, pero eso no se aplica necesariamente a todos ... por lo que no es una adición muy útil a la respuesta IMO. – David

1

¿Algo como esto tal vez?

$('input:submit[name="Delete"][value="Delete"]') 
1

Su pregunta es un poco vago, pero si lo interpreto correctamente, en realidad se quiere conocer la sintaxis para seleccionar un input type="submit" name="Delete" value="Delete" en jQuery?

Si es así, aquí está:

$('input:submit[name="Delete"][value="Delete"]') 
+0

¿Un poco vago? ¡Dios mío, no sé cuánto más podría haber puesto en la pregunta sin seguir y seguir! –

+0

El título del tema de ninguna manera cubría el problema/pregunta ** real **. – BalusC

6

El siguiente sería aplicable a todos los presentes, y futuras instancias de cualquier botón de envío que tienen tanto el nombre como valor de "Borrar":

$(function(){ 

    $(":submit[name='Delete'][value='Delete']").live("click", function(e){ 
     e.preventDefault(); // remove if not necessary 
     // Seriously, delete it. 
    }); 

}); 
+0

Jonathan, sacas un buen punto usando el método directo. En 2010 fue un excelente punto. P: ¿El método "on" usa la delegación de eventos? –

Cuestiones relacionadas