IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ajouter un nouveau champs par bouton + et création de variables


Sujet :

JavaScript

  1. #81
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    C'est à dire ?

  2. #82
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    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
    19
    // Recup variables inventaires //
    	$i=-1;
            $arama1=array();
    	while($_POST['arma1'][++$i])
    	{
        $arma1[] = $_POST['arma1'][$i];
    	}
    	$i=-1;
            $arama2=array();
    	while($_POST['arma2'][++$i])
            {
        $arma2[] = $_POST['arma2'][$i];
    	}
    	$i=-1;
            $arama3=array();
    	while($_POST['arma3'][++$i])
            {
        $arma3[] = $_POST['arma3'][$i];
    	}

  3. #83
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Et c'est tout ? Ou je dois les utiliser autre part ces $arama ?

    ($arama ou $arma ? )

    Merci de votre aide en tout cas

  4. #84
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    desole

    ...

  5. #85
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Aucun problème ca arrive je suis bien placé pour le dire ^^

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    // Recup variables inventaires //
    	$i=-1;
    	$arma1=array();
    	while($_POST['arma1'][++$i])
    	{
        $arma1[] = $_POST['arma1'][$i];
    	}
    	$i=-1;
    	$arma2=array();
    	while($_POST['arma2'][++$i])
            {
        $arma2[] = $_POST['arma2'][$i];
    	}
    	$i=-1;
    	$arma3=array();
    	while($_POST['arma3'][++$i])
            {
        $arma3[] = $_POST['arma3'][$i];
    	}
    	$i=-1;
    	$usu1=array();
    	while($_POST['usu1'][++$i])
            {
        $usu1[] = $_POST['usu1'][$i];
    	}
    	var_dump($arma1);
    	var_dump($arma2);
    	var_dump($arma3);
    	var_dump($usu1);
    	// Fin recup variables inventaire //
    Je déclare pour essayer les array pour $arma et $usu donc, pas les autres pour le moment (comme on test)

    -> Ne fonctionne pas. Seul les champs avec les $usu (array déclarée) et $sort (alors que je n'ai pas déclaré l'array) sont affichés. Le var_dump me sort pourtant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(1) { [0]=>  string(5) "Epée" } array(1) { [0]=>  string(11) "Arme 1 main" } array(1) { [0]=>  string(2) "20" } array(1) { [0]=>  string(5) "Lampe" } array(1) { [0]=>  string(6) "Sigmar" } array(1) { [0]=>  string(2) "20" } array(2) { [0]=>  string(12) "Boule de feu" [1]=>  string(9) "Lance eau" } array(2) { [0]=>  string(2) "20" [1]=>  string(2) "40" }
    Lien du générateur si besoin:
    http://warforum-jdr.com/genprez/presentationtest.php

  6. #86
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    le code html généré est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <fieldset id="Armesarmures">
    <legend>Armes et armures:</legend>
    <input value="Ajouter un objet" onclick="Constructarma()" type="button"><br>
    <input size="20" name="arma1[]" type="text"><input size="20" name="arma2[]" type="text"><input size="20" name="arma3[]" type="text"><br>
    <input size="20" name="arma1[]" type="text"><input size="20" name="arma2[]" type="text"><input size="20" name="arma3[]" type="text"><br>
    <input size="20" name="arma1[]" type="text"><input size="20" name="arma2[]" type="text"><input size="20" name="arma3[]" type="text"><br>
    <input size="20" name="arma1[]" type="text"><input size="20" name="arma2[]" type="text"><input size="20" name="arma3[]" type="text"><br>
    <input size="20" name="arma1[]" type="text"><input size="20" name="arma2[]" type="text"><input size="20" name="arma3[]" type="text"><br>
    <input size="20" name="arma1[]" type="text"><input size="20" name="arma2[]" type="text"><input size="20" name="arma3[]" type="text"><br>
    <input size="20" name="arma1[]" type="text"><input size="20" name="arma2[]" type="text"><input size="20" name="arma3[]" type="text"><br>
     
    </fieldset>
    Ce qui me parait correct

  7. #87
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    En effet, tout se passe bien jusqu'à l'affichage des valeurs des variables, car le var_dump montre bien que tout est récupéré correctement

  8. #88
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    essaye une boucle foreach au lieu de while ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $i=-1;
    	$arma1=array();
    	foreach($_POST['arma1'] as $index =>$value)
    	{
        $arma1[] = $value;
    	}

  9. #89
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    // Recup variables inventaires //
    	$i=-1;
    	$arma1=array();
    	foreach($_POST['arma1'] as $index =>$value)
    	{
        $arma1[] = $value;
    	}
    	$i=-1;
    	$arma2=array();
    	foreach($_POST['arma2'] as $index =>$value)
    	{
        $arma2[] = $value;
    	}
    	$i=-1;
    	$arma3=array();
    	foreach($_POST['arma3'] as $index =>$value)
    	{
        $arma3[] = $value;
    	}
    	$i=-1;
    	$usu1=array();
    	foreach($_POST['usu1'] as $index =>$value)
    	{
        $usu1[] = $value;
    	}
    	var_dump($arma1);
    	var_dump($arma2);
    	var_dump($arma3);
    	var_dump($usu1);
    	// Fin recup variables inventaire //
    	// Recup variables PDC //
    	$i=-1;
    	$pdcname1=array();
    	foreach($_POST['pdcname1'] as $index =>$value)
    	{
        $pdcname1[] = $value;
    	}
    	$i=-1;
    	$pdcname2=array();
    	foreach($_POST['pdcname2'] as $index =>$value)
    	{
        $pdcname2[] = $value;
    	}
    	var_dump($pdcname1);
    	var_dump($pdcname2);
    	// Fin recup variables PDC //
    J'ai eu une lueur d'espoir, la première fois j'avais entré les arma et usu et c'était affiché. Mais au deuxième essai avec tout les champs dynamique, aucun succès.

    +

    Warning: Invalid argument supplied for foreach() in /home/warjdr/domains/warforum-jdr.com/public_html/genprez/presentation_generatortest.php on line 225
    array(1) { [0]=> string(4) "Epee" } array(1) { [0]=> string(2) "20" } array(1) { [0]=> string(1) "0" } array(0) { }
    Warning: Invalid argument supplied for foreach() in /home/warjdr/domains/warforum-jdr.com/public_html/genprez/presentation_generatortest.php on line 237

    Warning: Invalid argument supplied for foreach() in /home/warjdr/domains/warforum-jdr.com/public_html/genprez/presentation_generatortest.php on line 243
    array(0) { } array(0) { }
    Warning: Invalid argument supplied for foreach() in /home/warjdr/domains/warforum-jdr.com/public_html/genprez/presentation_generatortest.php on line 253

    Warning: Invalid argument supplied for foreach() in /home/warjdr/domains/warforum-jdr.com/public_html/genprez/presentation_generatortest.php on line 259
    Si par exemple je ne remplis qu'au niveau des arma, j'ai des erreurs comme celle là pour les 3 autres ajouts de champs (qui ne sont pas utilisé dans ce cas)

  10. #90
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    la ce sont des soucis purs php ... il faut tester si la variable POST existe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	$i=-1;
    	$arma1=array();
            if i(sset($_POST['arma1']){
    	foreach($_POST['arma1'] as $index =>$value)
    	{
        $arma1[] = $value;
    	}
    }

  11. #91
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if i(sset($_POST['arma1']){
    J'ai corrigé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['arma1'])){
    Apparemment (hormis la faute de frappe avec le i de isset), il manquait une parenthèse ?

    C'est toujours au même stade: le var_dump affiche bien les valeurs, mais elle ne se retrouve pas toutes dans la suite

    Ne dois-je pas changer le :

    ne dois-je pas changer le $value à chaque fois que je change de variable ?

    Exemple:

    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
    $i=-1;
    	$arma1=array();
    	if (isset($_POST['arma1']))
    	{
    	foreach($_POST['arma1'] as $index =>$value)
    	{
        $arma1[] = $value;
    	}
    					 }
    	$i=-1;
    	$arma2=array();
    	if (isset($_POST['arma2']))
    					 {
    	foreach($_POST['arma2'] as $index =>$value)
    	{
        $arma2[] = $value;
    	}
    					 }
    Par

    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
    $i=-1;
    	$arma1=array();
    	if (isset($_POST['arma1']))
    	{
    	foreach($_POST['arma1'] as $index =>$value1)
    	{
        $arma1[] = $value;
    	}
    					 }
    	$i=-1;
    	$arma2=array();
    	if (isset($_POST['arma2']))
    					 {
    	foreach($_POST['arma2'] as $index =>$value2)
    	{
        $arma2[] = $value;
    	}
    					 }
    + NB: le $i=-1; est-il toujours obligatoire et, si oui, est-il obligatoire de le renoter à chaque fois ou bien une fois suffit ?

  12. #92
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ha ben du coup le $i ne sert plus ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	$arma1=array();
    	if (isset($_POST['arma1']))
    	{
    	foreach($_POST['arma1'] as $index =>$value1)
    	{
        $arma1[] = $value;
    	}
        var_dump($arma1)
    il dit quoi là ???

  13. #93
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    // Recup variables inventaires //
     
    	$arma1=array();
    	if (isset($_POST['arma1']))
    	{
    	foreach($_POST['arma1'] as $index =>$value1)
    	{
        $arma1[] = $value1;
    	}
    					 }
     
    	$arma2=array();
    	if (isset($_POST['arma2']))
    					 {
    	foreach($_POST['arma2'] as $index =>$value2)
    	{
        $arma2[] = $value2;
    	}
    					 }
     
    	$arma3=array();
    	if (isset($_POST['arma3']))
    					 {
    	foreach($_POST['arma3'] as $index =>$value3)
    	{
        $arma3[] = $value3;
    	}
    					 }
     
    	$usu1=array();
    	if (isset($_POST['usu1']))
    					 {
    	foreach($_POST['usu1'] as $index =>$value4)
    	{
        $usu1[] = $value4;
    	}
    					 }
    	var_dump($arma1);
    	var_dump($arma2);
    	var_dump($arma3);
    	var_dump($usu1);
    	// Fin recup variables inventaire //
    Toujours le même: le dump affiche correctement, mais c'est pas affiché dans la suite :s

    La suite étant:

    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
    ^  Inventaire (Encombrement: '.stripslashes($enc2).' )                          ^^^^^';
    if (!empty($arma1[1])) {
    foreach(array_keys($arma1) as $val1) {
    	echo '
    |  Icone  |  **'.stripslashes($arma1[$val1]).'**    |  '.stripslashes($arma2[$val1]).'  |  '.stripslashes($arma3[$val1]).'  |';
    	}
    }
     
     
    if(empty($usu1[1])) { 
    	foreach(array_keys($usu1) as $val2) {
    	echo '
    |  Icone  |  **'.stripslashes($usu1[$val2]).'**  |||';
    	}
    }
    Remplacer les $val1, $val2, etc par autre chose ?

  14. #94
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    tu veux dire que le
    est correct ???


    si c'est le cas le formulaire fonctionne à merveille ..
    Tu ne sais pas utiliser tes array php après ...

    Pour moi la partie js est fonctionnelle et le passage des posts à php aussi

  15. #95
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(2) { [0]=>  string(4) "Epee" [1]=>  string(8) "Bouclier" } array(2) { [0]=>  string(11) "Arme 1 main" [1]=>  string(7) "Defense" } array(2) { [0]=>  string(11) "10 dégâts" [1]=>  string(4) "rien" } array(1) { [0]=>  string(5) "Lampe" } array(1) { [0]=>  string(6) "Sigmar" } array(1) { [0]=>  string(2) "20" } array(1) { [0]=>  string(12) "Boule de feu" } array(1) { [0]=>  string(11) "20 dégâts" }
    ce sont les résultats var_dump des champs (les 4), on peut y lire ce que j'entre et ca m'a l'air correct en effet. Mais ici, dans ce que j'ai généré dans le cadre qui donne le texte avec les valeurs entrées dans le formulaire, il me manque par exemple tout ce qui est après lampe ($usu1).

    C'est le même problème que depuis le début, ce qui a changé c'est que vous avez optimisez le code mais le problème persiste
    -> votre script fonctionne

    Je vais donc retourner en session PHP, merci de votre aide

  16. #96
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Bonsoir

    Je viens d'essayer sur IE, c'est assez.. chaotique :'(

    Le var_dump:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(0) { } array(0) { } array(0) { } array(0) { } array(0) { } array(0) { } array(0) { } array(0) { }
    Essais sous Google Chrome: même résultat que sur Firefox: var_dump ok mais le reste plante comme d'habitude

  17. #97
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Euréka !!!


    En fait c'est IE8 qui nous fait pour une fois une bonne surprise!! Mais qui en est une mauvaise aussi ^^

    Je m'explique Sous IE avant il fallait avoir un script spécial différencié poru la creation des objets de form surtout au niveau de l'attibution du name !!
    He ben devine quoi sous IE 8 ce n'est plus le cas !!!

    Il faut cependant toujours garder les scripts différentiés pour les versions antérieures...

    Ce qui nous donne:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Croyances</title>
     
    <script type='text/javascript'>
    function IsIE8() {
        var rv = -1;
        var ua = navigator.userAgent;
        var re = new RegExp("Trident\/([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null) {
            rv = parseFloat(RegExp.$1);
        }
        return (rv == 4);
    }
     
    var isIE =(document.all)?true:false;
    isIE=isIE && !IsIE8
     
    var Flux=new Array();
     
    Array.prototype.ArrayPos=function(quoi){
            var Position=-1;
            for (i=0;this[i];i++){ if (quoi==this[i]){Position=i;}
                                    }
            return Position;
        }
     
    $Close=function(Closing,Dest){
           var FluxPos=Flux.ArrayPos(Closing)
           var FluxLength=Flux.length;
           var SpliceLength=FluxLength-FluxPos+1;
           var AppendLot=Flux.splice(FluxPos+1,SpliceLength);
     
           for(l=0;AppendLot[0];l++){
                            Closing.appendChild(AppendLot.shift())
                                }
           if(Flux.length==1 && arguments.length==1){document.body.appendChild(Flux.pop())}
           if(Flux.length==1 && arguments.length==2){arguments[1].appendChild(Flux.pop())}
     
                        }
     
     
    var $C= function (HasH){
        var Elt='';
        var Special=false;
     
        switch(HasH['type']){
                case('radio' ): Elt=(isIE)?'<input name="'+HasH['name']+'" />':HasH['obj'];
                                  Special=(isIE)?true:false;    
                                  break;
     
                case('checkbox' ): Elt=(isIE)?'<input name="'+HasH['name']+'" />':HasH['obj'];
                                  Special=(isIE)?true:false;    
                                  break;
                            case('file' ): Elt=(isIE)?'<input name="'+HasH['name']+'" />':HasH['obj'];
                                  Special=(isIE)?true:false;    
                                  break;                             
     
                default:          Elt=HasH['obj'];
                                  Special=(isIE)?true:false;
                }
     
        if(HasH['obj']=='label'){Elt=(isIE)?'<label for="'+HasH['htmlFor']+'" />':HasH['obj'];
                                 Special=(isIE)?true:false;
                                 }
      if(HasH['obj']=='select'){Elt=(isIE)?('<select name="'+HasH['name']+'" '+((HasH['multiple']==1)?'multiple ':'')+' >'):HasH['obj'];
                                 Special=(isIE)?true:false;
                                 }
       if(HasH['obj']=='form'){Elt=(isIE)?('<form name="'+HasH['name']+' >'):HasH['obj'];
                                 Special=(isIE)?true:false;
                                 }
     
        var Obj=document.createElement(Elt);
        for (elt in HasH){
            if (elt != 'obj'){
                    if(elt=='css'){   for(Styl in HasH['css']){Obj.style[Styl]=HasH['css'][Styl];}
                                  }
     
                    else{ 
                               if(isIE){ if(!Special || (elt!='name' && elt!='for' )){
                                                                          Obj[elt]=HasH[elt];
                                                                  }
                                  }            
                         else{ Obj[elt]=HasH[elt];
                                }         
     
                    }    
            }
         }
     Flux.push(Obj);    
     return Obj; 
     }
    function Construct1(){
        var monfieldset=document.getElementById('Croyances')
    	//monfieldset.open();
        var pdc1=$C({"obj":"input","type":"text","name":"pdcname1[]","size":"15","maxlenght":"255","value":"Nom Dieu","onclick":function(){this.value='';}} );
     
    	 $Close(pdc1,monfieldset);
    	 var pdc2=$C({"obj":"input","type":"text","name":"pdcname2[]","size":"3","maxlenght":"2"} );
         $Close(pdc2,monfieldset); 
    	 var lf=$C({"obj":"br"})
    	 $Close(lf,monfieldset)
    	 monfieldset.close();
    	document.close();
     
    }
     
    function Construct2(){
        var monfieldset=document.getElementById('Autre')
        var pdc1=$C({"obj":"input","type":"text","name":"autre1[]","size":"15","maxlenght":"255","value":"Machin","onclick":function(){this.value='';}} );
    	  $Close(pdc1,monfieldset);
    	 var pdc2=$C({"obj":"input","type":"text","name":"autre2[]","size":"3","maxlenght":"2"} );
         $Close(pdc2,monfieldset); 
    	 var lf=$C({"obj":"br"})
    	 $Close(lf,monfieldset)
    	document.close();
     
    }
    </script>
     
    </head>
     
    <body>
    <form name="myform" action='#' method='post'>
             <fieldset id='Croyances'>
                <legend>Croyances</legend>
                <input type='button' value='Ajouter un Dieu' onclick='Construct1()' /><br />
             </fieldset>
    		 <fieldset id='Autre'>
                <legend>Autre</legend>
                <input type='button' value='Ajouter autre' onclick='Construct2()' /><br />
             </fieldset>
    		  <input type="submit" value="valider" name="sub" />
    </form>
    <?php
    if (isset($_POST['sub'])){
       echo "done";
       print_r($_POST['pdcname1']);
            $arma1=array();
            if (isset($_POST['pdcname1']))
            {
            foreach($_POST['pdcname1'] as $index =>$value)
            {
        $arma1[] = $value;
            }
            }
             print_r($arma1);
             echo '<br/>';
            $arma2=array();
            if (isset($_POST['pdcname2']))
            {
            foreach($_POST['pdcname2'] as $index =>$value)
            {
        $arma2[] = $value;
            }
            } 
            print_r($arma2);
             echo '<br/>';
              echo '<br/>';
               echo '<br/>';
            $autre1=array();
            if (isset($_POST['autre1']))
            {
            foreach($_POST['autre1'] as $index =>$value)
            {
        $autre1[] = $value;
            }
            }
             print_r($autre1);
             echo '<br/>';
            $autre2=array();
            if (isset($_POST['autre2']))
            {
            foreach($_POST['autre2'] as $index =>$value)
            {
        $autre2[] = $value;
            }
            } 
            print_r($autre2);
    }
    ?>
    </body>
    Testé sous IE8 ffx chrome

  18. #98
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Ravi de vous avoir aidé à mettre à jour indirectement ^^

    J'ai espéré l'espace d'une seconde, vu le code donné, que ca réglerait mon problème aussi, mais malheureusement après adaptation à mon code, non

    Mais ca marche sous IE en effet, même si c'est lacunaire comme expliqué avant (c'est comme Firefox et Chrome désormais ^^)

    Je vous met le code, au cas où j'aurai mal adapté:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <!-- Ajout dynamique de champs-->
    <script src="http://warforum-jdr.com/genprez/champsdynoyautest.js">
    </script>
    <script type="text/javascript">
    <!-- Ajout champs pdc-->
    function Constructpdc(){
        var monfieldset=document.getElementById('Croyances');
    		//monfieldset.open();
        var pdc1=$C({"obj":"input","type":"text","name":"pdcname1[]","size":"15","maxlenght":"255","value":"Nom Dieu","onclick":function(){this.value='';}} );
    	 $Close(pdc1,monfieldset);
    	 var pdc2=$C({"obj":"input","type":"text","name":"pdcname2[]","size":"3","maxlenght":"2"} );
        $Close(pdc2,monfieldset);
     var lf=$C({"obj":"br"} );
        $Close(lf,monfieldset);
    	monfieldset.close();
    	document.close();
     
    }
     
    <!-- Fin ajout champs pdc-->
    <!-- Ajout champs armes-->
     
    function Constructarma(){
        var monfieldset=document.getElementById('Armesarmures');
     
        var pdc1=$C({"obj":"input","type":"text","name":"arma1[]","size":"20","maxlenght":"255","value":"Nom arme/armure","onclick":function(){this.value='';}} );
    	$Close(pdc1,monfieldset);
     
    	var pdc2=$C({"obj":"input","type":"text","name":"arma2[]","size":"20","maxlenght":"255","value":"Caractéristiques","onclick":function(){this.value='';}} );
        $Close(pdc2,monfieldset); 
     
    	var pdc3=$C({"obj":"input","type":"text","name":"arma3[]","size":"20","maxlenght":"255","value":"Autres","onclick":function(){this.value='';}} );
        $Close(pdc3,monfieldset); 
     
    var lf=$C({"obj":"br"} );
        $Close(lf,monfieldset);
    	monfieldset.close();
    	document.close();
     
    }
     
    <!-- Fin ajout champs armes-->
    <!-- Ajout champs objets usuels-->
     
    function Constructusu(){
        var monfieldset=document.getElementById('objusu');
     
        var pdc1=$C({"obj":"input","type":"text","name":"usu1[]","size":"20","maxlenght":"255","value":"Objet usuel","onclick":function(){this.value='';}} );
    	$Close(pdc1,monfieldset);
     	monfieldset.close();
    	document.close();
     
    }
     
    <!-- Fin ajout champs objets usuels-->
    <!-- Ajout champs sorts-->
     
    function Constructsort(){
        var monfieldset=document.getElementById('sorts');
     
        var pdc1=$C({"obj":"input","type":"text","name":"sort1[]","size":"15","maxlenght":"255","value":"Nom du sort","onclick":function(){this.value='';}} );
    	$Close(pdc1,monfieldset);
     
    	var pdc2=$C({"obj":"input","type":"text","name":"sort2[]","size":"20","maxlenght":"255","value":"Effets du sort","onclick":function(){this.value='';}} );
    	$Close(pdc2,monfieldset);
     
     	var lf=$C({"obj":"br"} );
        $Close(lf,monfieldset);
    	monfieldset.close();
    	document.close();
     
    }
     
    <!-- Fin ajout champs sorts-->
    </script>
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    // Recup variables inventaires //
     
    	$arma1=array();
    	if (isset($_POST['arma1']))
    	{
    	foreach($_POST['arma1'] as $index =>$value)
    	{
        $arma1[] = $value;
    	}
    					 }
     
    	$arma2=array();
    	if (isset($_POST['arma2']))
    					 {
    	foreach($_POST['arma2'] as $index =>$value)
    	{
        $arma2[] = $value;
    	}
    					 }
     
    	$arma3=array();
    	if (isset($_POST['arma3']))
    					 {
    	foreach($_POST['arma3'] as $index =>$value)
    	{
        $arma3[] = $value;
    	}
    					 }
     
    	$usu1=array();
    	if (isset($_POST['usu1']))
    					 {
    	foreach($_POST['usu1'] as $index =>$value)
    	{
        $usu1[] = $value;
    	}
    					 }
    	var_dump($arma1);
    	var_dump($arma2);
    	var_dump($arma3);
    	var_dump($usu1);
    	// Fin recup variables inventaire //
    	// Recup variables PDC //
     
    	$pdcname1=array();
    	if (isset($_POST['pdcname1']))
    					 {
    	foreach($_POST['pdcname1'] as $index =>$value)
    	{
        $pdcname1[] = $value;
    	}
    					 }
     
    	$pdcname2=array();
    	if (isset($_POST['pdcname2']))
    					 {
    	foreach($_POST['pdcname2'] as $index =>$value)
    	{
        $pdcname2[] = $value;
    	}
    					 }
    	var_dump($pdcname1);
    	var_dump($pdcname2);
    	// Fin recup variables PDC //
    	// Recup variables sorts //
     
    	$sort1=array();
    	if (isset($_POST['sort1']))
    					 {
    	foreach($_POST['sort1'] as $index =>$value)
    	{
        $sort1[] = $value;
    	}
    					 }
     
    	$sort2=array();
    	if (isset($_POST['sort2']))
    					 {
    	foreach($_POST['sort2'] as $index =>$value8)
    	{
        $sort2[] = $value8;
    	}
    					 }
    	var_dump($sort1);
    	var_dump($sort2);
    	// Fin recup variables sorts //
    J'ai pas du modifier quoi que ce soit pour le code du cadre ci dessus.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    ^  Inventaire (Encombrement: '.stripslashes($enc2).' )                          ^^^^^';
    if (!empty($arma1[1])) {
    foreach(array_keys($arma1) as $val1) {
    	echo '
    |  Icone  |  **'.stripslashes($arma1[$val1]).'**    |  '.stripslashes($arma2[$val1]).'  |  '.stripslashes($arma3[$val1]).'  |';
    	}
    }
     
     
    if(empty($usu1[1])) { 
    	foreach(array_keys($usu1) as $val2) {
    	echo '
    |  Icone  |  **'.stripslashes($usu1[$val2]).'**  |||';
    	}
    }
     
    echo'
     
    |< 50em >|
    ^  Grimoire                          ^^';
     
    if (!empty($sort1[1])) {
    	foreach(array_keys($sort1) as $val3) {
    		echo '
    |  **'.stripslashes($sort1[$val3]).'**    |  '.stripslashes($sort2[$val3]).'  |';
    	}
    }
     
    if (!empty($pdcname1[1])) {
    	foreach(array_keys($pdcname1) as $val4) {
    		echo '|  **'.stripslashes($pdcname1[$val4]).'**    |  '.stripslashes($pdcname2[$val4]).'  |  0  |';
    	}
    }
    En parallèle je remet mon formulaire comme avant (statique mais fonctionnel), sans votre script (même s'il est très bon), quelque chose plante quelque part et ca anéantis tout

  19. #99
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 643
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Pour moi desormais la partie formulaire et transmission des données est bonne

    rien de cahotique chez moi les résultats sont toujours bon quel que soit le navigateur


    en revanche le php pèche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if (!empty($arma1[1])) {
    foreach($arma1 as $index) {
    	echo '
    |  Icone  |  **'.stripslashes($arma1[$index]).'**    |  '.stripslashes($arma2[$index]).'  |  '.stripslashes($arma3[$index]).'  |';
    	}
    }
     
     
    if(empty($usu1[1])) { 
    	foreach($usu1 as $index) {
    	echo '
    |  Icone  |  **'.stripslashes($usu1[$index]).'**  |||';
    	}
    }

  20. #100
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Voilà, ca fonctionne maintenant après optimisation et nettoyage avec des membres de la section PHP

    Merci de votre aide pour le script

+ Répondre à la discussion
Cette discussion est résolue.
Page 5 sur 5 PremièrePremière 12345

Discussions similaires

  1. Réponses: 9
    Dernier message: 27/07/2016, 14h56
  2. [AC-2007] Ajouter un nouveau champ a un formulaire ou requete
    Par zippi dans le forum IHM
    Réponses: 4
    Dernier message: 02/05/2011, 16h21
  3. Ajout d'un champ par programmation
    Par zwina2004 dans le forum WinDev
    Réponses: 3
    Dernier message: 06/10/2008, 09h17
  4. Réponses: 6
    Dernier message: 10/04/2007, 23h50
  5. Réponses: 4
    Dernier message: 11/05/2006, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo