CakePHP Javascript boîte de dialogue de confirmation de l'envoi de Formulaire annuler ne fonctionne pas
Avec mon CakePHP formulaire d'inscription, une fois en cliquant sur le bouton Soumettre, je veux simplement afficher Javascript boîte de dialogue de confirmation, qui devrait fonctionner comme:
- Si appuyé sur Ok, doivent soumettre le formulaire
- Si pressé d'Annuler, ne devrait pas aller pour soumettre l'action
Mais ici, lorsque je clique sur Annuler, si elle obtient l'soumis. Je ne sais pas pourquoi?
CakePHP Code Du Formulaire:
<?php echo $form->create('Noncompetitor', array('type' => 'file', 'url' => '/register', 'onSubmit' => 'confirmfrmSubmit();'));?>
Mon Code JS:
function confirmfrmSubmit(){
var agree=confirm("Are you sure you wish to continue?");
if (agree)
return true ;
else
return false ;
}
S'il vous plaît laissez-moi savoir, si vous avez des boursiers ont une idée sur elle.
Merci !
OriginalL'auteur Aditya P Bhatt | 2011-03-28
Vous devez vous connecter pour publier un commentaire.
Mise à jour: de Crédit à vélo pour la fixation de my broken de rappel. Voir ci-dessous pour plus de détails. (Et un gros framboise à StackO de ne pas permettre que la réponse de l'auteur d'avoir le dernier mot sur l'acceptation d'une modification.)
Voici une solution à l'aide de jQuery:
event.preventDefault(); if (confirm('Are you sure?')) { $(this).submit(); }
avecif (!confirm('Are you sure?')) { return false; }
N'hésitez pas à suggérer la modifier, je vais l'accepter, je le jure!
Naaah, toujours rejeté. Voir stackoverflow.com/review/suggested-edits/2762110
Oh, ici, je pensais que j'allais arriver à décider du sort de suggestions de modifications... je vais faire le modifier moi-même, je suppose. Je voulais vous d'obtenir le crédit est tout.
hahaha c'est ok, je suis habitué à elle. Code modifie jamais obtenir l'approbation de mon xp, même quand ils sont évidentes, tout comme ici.
OriginalL'auteur Daniel Wright
Une méthode plus simple peut également être utilisé, Essayez ceci:
Je suis entièrement d'accord avec @vélo. Envahissante JS est l'odeur.
OriginalL'auteur Maadri
Je pense que votre fonction est un échec parce que vous n'êtes jamais fait de retourner la valeur de confirmfrmSubmit().
Essayez d'ajouter la partie de retour à la onSubmit champ, comme suit:
Votre code JS devrait fonctionner comme il est, le problème est juste que le confirmer valeur n'est jamais passé à l'écran lorsque le onSubmit gestionnaire est appelé.
P. S. notez que vous pouvez effectuer les opérations suivantes dans le code JS:
Espère que cette aide.
OriginalL'auteur Paulo Margarido
J'ai trouvé une solution très simple à cette requête:
<?php echo $form->create('ModelName', array('type' => 'file', 'url' => 'url', 'name' => 'frmRegister', 'onsubmit' => 'validatefrm(); return false;')); ?>
Avec onsubmit fonction, j'ai simplement défini 'validatefrm(); return false;'
function validatefrm(){
//my condition, when i needs it to submitted
document.frmRegister.submit();
return true;
}
et trouvé de travail baiser 🙂
Laissez-moi savoir si cela vous aide.
OriginalL'auteur Aditya P Bhatt
Vous ont fait 99% du chemin dans le début .. vous avez juste besoin d'ajouter "retour" avant votre appel à la fonction de validation.
Va le faire.
OriginalL'auteur Simon Jensen
Il y a les étapes suivantes:-
- inclure ce fichier jquery-
Créer le bouton soumettre
Jquery code
OriginalL'auteur Sunil