window.opener et formulaires

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : window.opener et formulaires

par Invité » 11 nov. 2006, 14:26

lorsque je passe une balise form dans le pop up, je n'obtiens rien dans la fenetre mere...le pop up ne se ferme pas de plus..le script est tout simplement bloqué !

pas de message d'erreur particulier ! aucun affichage

par zeus » 11 nov. 2006, 11:01

Et quelle est l'erreur que tu obtiens ?

Essaye de préférer la console JavaScript de FF, elle est beaucoup plus expicite que celle de IE ;)

par Invité » 11 nov. 2006, 01:28

si je saisis un <input> sans la balise <form>, j'affiche un champ text interprété

par Invité » 11 nov. 2006, 01:20

non, lorsque je passe une balise form dans le pop up, je n'obtiens rien dans la fenetre mere...le pop up ne se ferme pas de plus..le script est tout simplement bloqué !

par zeus » 11 nov. 2006, 00:31

Excuse moi, quand j'ai mis les balises PHP dans ton message, j'ai cru qu'il s'agissait de code et non pas d'une description ;)

Si je résume bien.
Dans l'état, le code que tu nous as donnée fonctionne :
- avec IE et FF pour autre chose que des balises HTML
- avec IE et FF pour les balises HTML <input>
- seulement avec FF pour les balises HTML <form>
Et tu voudrais que celà fonctionne pour IE ?

Si j'ai juste, la question que je me pose est la suivante : Qu'est ce que tu obtiens dans la fenetre mere ? Du code écrit ou un champ input interpreté (une zone de saisie pour un input type text par exemple) ?

Dans le cas où c'est un champ interpreté que tu obtient avec les inputs, c'est normal que le form n'apparaisse pas puisque, même interprété, un <form> n'est pas visible.

Si je me trompe, est-ce que tu peut nous décrire plus précisément ce qui te fait dire que ça ne marche pas ?

par Invité » 10 nov. 2006, 23:37

mais j'utilise window.opener dans la fenetre fille (le pop up)

la fenetre parente ne fait que contenir le lien href depuis lequel j'ouvre le pop up

par zeus » 10 nov. 2006, 22:59

Il y a un truc que je ne comprend pas :-k

Pourquoi veut tu mettre quelque chose dans la fenetre parente ... depuis la fenetre parente :shock:

window.opener s'utilise dans la fenetre fille ;)

par Invité » 10 nov. 2006, 22:42

cela ne change rien !
quelle que soit la formule, le problème persiste...
cela dit, j'ai déjà trouvé le problème évoqué dans da'utres forums en faisant une recherche sur google...mais voilà, je voulais savoir d'où cela pouvait bien venir

par zeus » 10 nov. 2006, 12:23

Eh, faut pas s'ennerver. :roll:

Je suis désolé d'insister mais je pense que ça reste une erreur de développement

Dans ce bout de code

Code : Tout sélectionner

document.forms.test.champ.value
tu utilises le mot clé "forms" qui est un tableau contenant les différent formulaire de la page puis l'id "test" qui est lui même un formulaire. Ce qui est incompatible.

Soit tu écris

Code : Tout sélectionner

document.forms['test'].champ.value
Soit tu préfère

Code : Tout sélectionner

document.test.champ.value

par Invité » 10 nov. 2006, 10:44

SI CA SE DEVINE !

window.opener envoit les données à la fenetre parente...c'est sa fonction !

par DocType » 09 nov. 2006, 23:47

C'est pas un erreur de navigateur, mais plutôt de celle du programmeur... :roll:
Faut ptetre sélectionner la fenêtre dans laquelle tu envoies les données, ça se devine pas :?

par Invité » 09 nov. 2006, 23:29

je ne peux pas passer de balise <form> dans le textearea...il refuse d'afficher

par momox » 09 nov. 2006, 23:26

Et quelle est l'erreur qui se passe précisement?
@+

par Invité » 09 nov. 2006, 22:44

ma page parente :
<td id ="id">
  <a href="#" onClick="window.open('form.php', 'Fenetre_Edition', 'width=700, height=600, top=0, left=0')">
    <img align="middle" border="0" src="editer.gif">
  </a>
</td>
le pop up (fichier form.php):
<script language="javascript">
function submitform()
{
window.opener.document.getElementById('id').innerHTML=document.forms.test.champ.value;
window.close();
}
</script>
<form name="test" onsubmit="return submitform();">

<textarea name="champ" value=""></textarea>
<input type="submit" name="submit" value="ok">
</form>
VOILA !

par albat » 09 nov. 2006, 00:47

On va la refaire... En un peu plus fort... :roll:
Sans la moindre ligne de code pour illustrer ta question,
personne ne pourra répondre sérieusement
:-k