2010-05-18 5 views
0

je luttais beaucoup avant de poster ici :) maintenant, je veux remplacer mon défaut de confirmation javascript pour la suppression d'un fichier. J'ai vu beaucoup d'exemples ici, mais pas d'exemple avec une entrée de formulaire.jQuery - confirmer le retour d'entrée formulaire pour supprimer

Maintenant, j'ai sa forme:

<form action="delete.php" method="post"> 
<input type="hidden" name="id" value="<{$pid}>" /> 
<input type="hidden" name="picture" value="<{$lang_del_pic}>" /> 
<input type="image" src="<{xoImgUrl}>img/del-icon.gif" width="16" height="16" align="bottom" border="0" alt="Delete media" name="pictured" value="<{$lang_del_pic}>" onclick="javascript: return confirm('<{$lang_confirm_del}>');" /> 
</form> 

Maintenant, j'ai tout, j'ai cette div:

<div id="dialog-confirm" title="Empty the recycle bin?"> 
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>These items will be permanently deleted and cannot be recovered. Are you sure?</p> 
</div> 

ce javascript:

<script type="text/javascript"> 
$(function() { 
    // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore! 
    $("#dialog").dialog("destroy"); 


    $("#dialog-confirm").html('This dialog will show every time!'); 
    $("#dialog-confirm").dialog({ 
    autoOpen: false, 
    title: 'Kur za berbatov', 
    resizable: false, 
    height:140, 
    modal: true, 
    buttons: { 
    'Delete all items': function() { 
    document.location = 'delete.php'; 

    }, 
    Cancel: function() { 
    $(this).dialog('close'); 
    } 
    } 
    }); 


    $('form#dialog-confirm').submit(function(){ 
      $("input#pictured").html($("input#pictured").val()); 
      $('#dialog').dialog('open'); 
      return false; 
     }); 


    $('input#opener').click(function() { 
    $('#dialog-confirm').dialog('open'); 
    }); 

}); 
</script> 

et cette nouvelle forme:

<form name="dialog-confirm" id="dialog-confirm" method="post"> 
<input type="hidden" name="id" value="<{$pid}>" /> 
<input type="hidden" name="picture" value="<{$lang_del_pic}>" /> 
<input type="image" src="<{xoImgUrl}>img/del-icon.gif" width="16" height="16" align="bottom" border="0" alt="Delete media" name="pictured" value="" id="opener" /> 
</form> 

Sur presse, j'appelle succčs le diolog modal jQuery, et tout fonctionne, mais en quelque sorte, quand je presse « supprimer tout » me dit le script - « le script est appelé sans les paramètres nécessaires »

Maintenant, je pense que Je ne parviens pas à envoyer l'ID de pic à supprimer avec le jQuery, .. mais je ne sais pas comment le réparer. Des idées ?

Mise à jour

Eh bien, je l'ai posté la forme originale, la nouvelle forme, et jQuery ... Je ne peux vraiment pas faire ... s'il vous plaît jeter un oeil à la poste vers le haut.

est-il pas possible de le faire comme je l'ai posté, sans bouton soumettre. Je veux dire l'original fonctionne très bien, cependant, j'ai des moments difficiles de mise en œuvre dans le jQuery

post-scriptum Je messedUp avec mes comptes ici, c'est un nouveau :)

Mise à jour 2

Maintenant, cela devrait fonctionner selon tous les tutoriels. Mais le bouton de suppression ne fonctionne toujours pas soumettre la forme ... Pourquoi est-ce, s'il vous plaît aidez-moi ..

<script type="text/javascript"> 
     $(function() { 
      // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore! 
      $("#dialog").dialog("destroy"); 


      $("#dialog-confirm").html('This dialog will show every time!');  
      $("#dialog-confirm").dialog({ 
       autoOpen: false, 
       title: 'Kur za berbatov', 
       resizable: false, 
       height:140, 
       modal: true, 
       buttons: { 
        'Delete all items': function() { 
         document.dialog-confirm.submit(); 

        }, 
        Cancel: function() { 
         $(this).dialog('close'); 
        } 
       } 
      }); 


      $('form#dialog-confirm').submit(function(){ 
       $('#dialog-confirm').dialog('open'); 
       return false; 
      }); 

     }); 
     </script> 



<form action="delete.php" name="dialog-confirm" id="dialog-confirm" method="post"> 
<input type="hidden" name="id" value="<{$pid}>" /> 
<input type="hidden" name="picture" value="<{$lang_del_pic}>" /> 
<input type="image" src="http://7est2.mqsto.com/themes/exnews/img/del-icon.gif" width="16" height="16" align="bottom" border="0" alt="Delete media" name="pictured" value="" id="opener" /> 
</form> 
+0

Bienvenue dans Stack Overflow. Ce site fonctionne un peu différemment des forums traditionnels. Le Question-Demandeur devrait rarement publier plusieurs articles. Si vous souhaitez fournir des mises à jour de progression, vous devez modifier votre question et ajouter les nouvelles informations. – Sampson

Répondre

0

pourquoi ne vous soumettez pas le formulaire avec un bouton de soumission et si le formulaire est soumis, vous pouvez obtenir l'id par:

var id = 0; 
$("form").submit(function(){ 
    id = $(this).attr("id"); 
}); 

maintenant vous obtenez un var global et vous pouvez l'utiliser dans vos autres fonctions

buttons: { 
    'Delete all items': function() { 
    ... 
    build an Ajax call here you can use id 
    ...  
    }, 

Mise à jour

au lieu de useing document.dialog-confirm.submit();

je devrais utiliser:

$('#dialog-confirm').submit(); 

Mise à jour 2

un coup d'oeil à $(document).ready(function() { ... } peut-être vous placez le mauvais code ou quelque chose.et essayez de travailler avec alert() pour déboguer votre javascript

+0

pourriez-vous proposer un exemple complet? Comment puis-je changer le formulaire – bruno

+0

mmm Je ne comprends peut-être pas votre question. où as-tu besoin de quel id? ou voulez-vous changer votre formulaire? – Michel

+1

@Michel Stack Overflow n'est pas un forum traditionnel. Ici, les utilisateurs ne doivent publier qu'une seule réponse et la mettre à jour au fur et à mesure que d'autres informations deviennent disponibles. J'ai fusionné vos messages en un seul. – Sampson

Questions connexes