2010-01-01 5 views
9

Je viens d'écrire une confirmation supprimer la fonction qui nécessite un nom de classe:Etes-vous sûr de vouloir supprimer?

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

Utilisation:

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

Je voudrais changer le sélecteur de .ConfirmDelete à quelque chose comme:

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

Signification: Si un bouton d'envoi a le nom 'Supprimer' et sa valeur est 'Supprimer', alors allez-y et supposez qu'ils veulent con ferme la suppression sans les obliger à avoir une classe ConfirmDelete.

+0

Vous pouvez utiliser une balise de données html5, data-delete = "true", puis utiliser jQuery pour les trouver. – ShiftyThomas

+0

Nah. Chaque fois que c'est un bouton de soumission avec le nom de "supprimer" avec une valeur de "supprimer", je veux qu'il confirme "Êtes-vous sûr" avant de soumettre le formulaire. –

Répondre

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

Cette réponse a été écrite en 2010. J'utiliserais $ ('form'). On ('click', 'input: submit [nom = Supprimer] [value = "Supprimer"]', function() {}) maintenant. –

+2

Comme dans votre entreprise? Eh bien, mais cela ne s'applique pas nécessairement à tout le monde ... donc ce n'est pas un ajout très utile à la réponse IMO. – David

1

Quelque chose comme ça peut-être?

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

Votre question est un peu vague, mais si je l'interprète correctement, vous voulez vraiment connaître la syntaxe pour sélectionner un input type="submit" name="Delete" value="Delete" dans jQuery?

Si oui, la voici:

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

Un peu vague? Mon Dieu, je ne sais pas combien de plus j'aurais pu mettre dans la question sans continuer! –

+0

Le titre du sujet ne couvrait en aucun cas le problème/la question ** actuel **. – BalusC

6

Voici s'appliquerait à tous les cas présents et futurs de tout bouton SOUMETTRE ayant à la fois le nom et la valeur de « Supprimer »:

$(function(){ 

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

}); 
+0

Jonathan, vous évoquez un bon point en utilisant la méthode live. En 2010, c'était un excellent point. Q: La méthode "on" utilise-t-elle la délégation d'événement? –

Questions connexes