2010-02-19 2 views
2

Est-il possible de trouver sous quelle forme vous êtes actuellement à partir d'un fichier js?jQuery passant des valeurs d'une forme à une forme pré-remplie

Ceci est mon problème .. J'ai un formulaire, form1, qui comprend une table .. quand une ligne de la table est cliquée sur un autre formulaire apparaît, form2. Si l'utilisateur "enregistre avec succès" sur form2, le formulaire se ferme et form1 revient en focus..my question, est-il possible d'envoyer un ID ou appeler une fonction lorsque ce formulaire se ferme pour définir/modifier les valeurs

vouloir faire est de changer l'attribut row de la ligne que l'utilisateur a enregistré sur form1. exemple:

table.row[1].color = red 

après l'enregistrement,

table.row[1].color = green 

Comment puis-je accéder à/valeurs de consigne de la table sur form1 .. Je suppose que je dois faire quelque chose comme ça une fois que je sais ce que je forme m on..this est tout fait dans un fichier js ..

foreach(row in table) 
    { 
     if (FormName.GeneralReport.rows[i]).attr("userid") == 'id') 
     { 
      $(FormName.GeneralReport.rows[i]).attr("isValid", "True"); 
      $(formNameGeneralReport.rows[i]).css("background-color:", "green"); 
     } 
    } 

ou ... puis-je ajouter une fonction à form1 et appeler cette fonction de mes js fichier?

+0

I suppose que cela dépend de ce que vous entendez par "pops up" et "se ferme" - supprimez-vous le formulaire original du DOM? Ou est-ce qu'il arrive dans une fenêtre pop-up et la forme originale est simplement perdre le focus? – Plynx

Répondre

2

Il est difficile de donner une réponse détaillée parce que la construction entière est décrite un peu vague. En supposant que tout cela se passe entièrement du côté client et qu'aucune nouvelle requête HTTP ne soit envoyée vers le serveur, vous pouvez simplement "passer" des valeurs en définissant un élément DOM et/ou un attribut (invisible) avec cette valeur. Ajouter par exemple un <input type="hidden" name="formid"> à la forme dans la boîte de dialogue et d'ajouter quelque chose comme ceci au bouton d'édition:

$('.edit').click(function() { 
    var formid = $(this).parents('form').attr('id'); 
    $('#dialog input[name=formid]').val(formid); 
    // ... 
    $('#dialog').show();  
}); 

..et ajouter quelque chose comme cela sur le bouton Enregistrer de la boîte de dialogue:

$('#dialog .save').click(function() { 
    var formid = $(this).parents('#dialog').find('input[name=formid]').val(); 
    var form = $('#' + formId); 
    // ... 
}); 
+0

merci pour l'aide :) – Avien