Bonjour,
Je voudrais savoir s'il est possible de remplir un formulaire et de la valider alors que celui est dans une autre fenêtre.
Par avance merci.
Bonjour,
Je voudrais savoir s'il est possible de remplir un formulaire et de la valider alors que celui est dans une autre fenêtre.
Par avance merci.
Bonjour,
possible, si l'autre fenêtre a été ouverte via JavaScript par la première.Le problème va plutôt être la gestion des évènements entre les 2 fenêtres ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 // dans fenêtre principale pop_form = window.open("le_form.html", "pop"); // Ouvre la fenêtre du form ... pop_form.document.forms["name_du_form"].submit(); // Envoi le form
A+
Merci,
Est-il possible de faire de la même façon un clic sur un lien ? (en fait le formulaire que je veux validé est validé par un lien qui exécute une fonction javascript...)
Par avance merci
Ben il suffit d'utiliser la dernière ligne donnée dans ta fonction JavaScript.
Pense à terminer le onclick par unafin d'éviter l'appel au href (ce qui rechargerait la page).
Code : Sélectionner tout - Visualiser dans une fenêtre à part return false;
A+
J'ai fais des essais mais cela ne fonctionne pas. Voilà le lien que je voudrais cliquer (via mon javascript qui est dans une autre fenêtre) :
Que dois-je écrire ? Visiblement il fait deux choses en même temps. Comment faire pour executer une fonction présente dans une autre fenêtre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a onclick="WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$LF$LB", "", false, "", "https://www.monsite.com/Secure/LoginPage.aspx?destination=sports", false, true));if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }} this.disabled = true;if (document.getElementById('loginButtonContainer')){document.getElementById('loginButtonContainer').className = 'disabled';}return false;" id="ctl00_LF_LB" tabindex="3" UseSubmitBehavior="true" href="javascript:__doPostBack('ctl00$LF$LB','')">Login</a>
Merci beaucoup !
Bonjour,
A mon avis il faut revoir les quottes et les guillemets:
Là vous venez de fermer votre chaine de caractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ="WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00
Ce n'est pas une de mes pages. Ce que je veux c'est juste faire comme si j'avais pris ma souris et cliqué dessus.
Certes... mais comme tu le dis, peu importe ! je veux faire comme si je cliquait sur ce lien, il se passe bien quelque chose quand je clique dessus... (login)
Est-il possible d'executer la fonctiondepuis une autre fenêtre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part href="javascript:__doPostBack('ctl00$LF$LB','')"
Par contre j'avais mal lu ça
Il faut que tu récupères le code du onclick du lien et que tu en fasses une fonction que tu appelleras à partir de l'autre page avecA+
Code : Sélectionner tout - Visualiser dans une fenêtre à part pop_form.ta_fonction();
La syntaxe était correcte mais l'afficheur du forum transforme les " ...
J'ai rajouté des espaces.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a onclick="WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(& quot;ctl00$LF$LB& quot;, & quot;& quot;, false, & quot;& quot;, & quot;https://www.pinnaclesports.com/Secure/LoginPage.aspx?destination=sports& quot;, false, true));if (typeof(Page_ClientValidate) == 'function') { if (Page_ClientValidate() == false) { return false; }} this.disabled = true;if (document.getElementById('loginButtonContainer')){document.getElementById('loginButtonContainer').className = 'disabled';}return false;" id="ctl00_LF_LB" tabindex="3" UseSubmitBehavior="true" href="javascript:__doPostBack('ctl00$LF$LB','')">Login</a>
Idem, donc.
Sauf que c'est le code du href (pas terrible) qu'il faut récupérer (sans le "Javascript:") au lieu de celui du onclick.
A+
Je n'arrive même pas à remplir le formulaire :
ne marche pas :-( je ne comprends pas pourquoi (le 2ème alert ne se déclenche pas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 pop_form = window.open("https://www.pinnaclesports.com/", "pop"); // Ouvre la fenêtre du form setTimeout("alert('')",15000); //laisse le temps à la page de se charger pop_form.document.forms["aspnetForm"].ctl00$MCPH$LF$UserName.value = 'monlogin'; alert('1');
Ca ne règlera pas votre problème mais le setTimeout ne bloque pas le script et donc il passe directement à l'instruction suivante.
Pourquoi le remplissage du formulaire et pourquoi la validation du formulaire ne se font pas dans ce script, je ne comprend as bien comment m'y prendre...
alert('0'); s'affiche mais pas le suivant :-(
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 pop_form = window.open("https://www.pinnaclesports.com/", "pop"); // Ouvre la fenêtre du form setTimeout("f_submit()",15000); function f_submit() { alert('0'); pop_form.document.forms["aspnetForm"].ctl00$MCPH$LF$UserName.value = 'monlogin'; alert('1'); pop_form.document.forms["aspnetForm"].ctl00$MCPH$LF$Password.value = 'monpasswd'; pop_form.document.forms["aspnetForm"].__EVENTTARGET.value = 'ctl00$LF$LB'; pop_form.document.forms["aspnetForm"].__EVENTARGUMENT.value = ''; pop_form.document.forms["aspnetForm"].submit(); alert('fini'); }
Si, en grande partie : c'est l'affectation du .value qu'il faut faire dans le setTimeout() car c'est elle qui doit être retardée (et effectivement le setTimeout() ne met pas le script "en pause")
Une autre solution (plus sûre) est de faire, toujours dans la page principale, une fonction qui effectue le remplissage du formulaire de la page fille (celle du form). Pour ne le lancer qu'une fois la page du form chargée, c'est dans le onload du <body> de celle-ci qu'il faudra appeler cette fonctionA+
Code : Sélectionner tout - Visualiser dans une fenêtre à part <body onload="opener.nom_de_la_fonction();">
Arf : pas vu le post précédent !
Ce n'est plus que le lancement qui pose problèmeonload du body de la page fille ...
A+
La page fille n'est pas à moi... je ne peux donc pas y toucher.
Est-ce toujours possible ?
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager