2011-04-20 5 views
0

Voici mon scénario, je présente à l'utilisateur un tableau de tests, que j'ai récupéré de ma base de données en boucle et créé un formulaire pour chaque test (ligne de tableau). Chacun a donc un bouton de soumission pour exécuter ce test particulier.problème vérification dynamique du mot de passe

bases de ma boucle:

while ($ts = mysql_fetch_assoc($test_info)) 
{ 
//PRESENT VALUES $ts['name'] in table within a unique form etc. 
} 

Ce que je suis en train de faire et est en échec, en cliquant sur un bouton d'envoi particulier pour un test, pour exécuter une fonction JS qui vérifie; Si le test a un mot de passe attaché, si c'est le cas, présentez un formulaire contextuel pour la saisie du mot de passe, et en soumettant ce petit formulaire, vérifiez si le mot de passe est correct, s'il est soumis.

Mon problème est que je ne peux pas analyser la valeur de mot de passe attachée à ce formulaire à mon javascript.

donc idéalement que je veux faire ceci:

<input id='submit' type='button' onclick='JSfunction(test_password)' value='execute test' > 

je peux donc en quelque sorte d'analyser une valeur de cette forme particulière à une fonction javascript sans soumettre réellement la forme.

et je crois que je sais comment faire le reste dans ma fonction JS.

J'espère que quelqu'un pourra suivre ma pauvre explication et me pointer dans la bonne direction.

Un grand merci,

Répondre

0

Lorsqu'un formulaire doit avoir un mot de passe associé, ajouter ce qui suit:

<input type="hidden" name="has_password" value="yes" /> 
<input type="hidden" name="password" value="" /> 

Ensuite, votre chèque déclenché par le bouton d'envoi (en supposant que le bouton lui-même est la this contexte):

if ($(this).parent().find(':input:hidden[name=has_password]').val() == 'yes') { 
    // pop password request 
    return false; 
} 

vous aurez besoin d'un moyen de stocker le contexte de la forme actuelle, et je peux suggérer quelques si vous voulez, mais vous ca n puis remplissez le mot de passe dans le champ caché et soumettez-le normalement. Soit dit en passant, vous pouvez envisager onSubmit au lieu de onClick du bouton de soumission, comme onSubmit va attraper des tentatives par des scripts pour effectuer un envoi. Si vous faites cela, supprimez simplement la partie .parent() de ce qui précède, car l'élément <form> devrait correspondre au contexte this.

+0

Puis-je accéder aux valeurs du formulaire d'une manière similaire? donc quand je vérifie 'has_password' est 'oui' je peux alors saisir le mot de passe réel de ma base de données avec le nom de test du formulaire. Si cela a du sens: S – buymypies

+0

Je ne suis pas sûr de ce que vous parlez de faire. Voulez-vous dire que vous voulez faire la comparaison du côté client? Ce n'est pas une bonne idée. Je supposais que vous afficheriez une zone de texte générique qui demande un mot de passe, puis remplit le champ de mot de passe caché, puis appelle la méthode 'submit()' dans le formulaire approprié. Qu'est-ce que tu veux faire exactement? – Dereleased

Questions connexes