Problème bouton d'ajout de ligne de saisie(input) dans formulaire
21 messages
• Page 1 sur 2 • 1, 2
- itry
- Nouveau WRInaute

- Messages: 24
- Inscription: 7 Fév 2012
Problème bouton d'ajout de ligne de saisie(input) dans formulaire
Bonjour à tous,
Voila j'ai un souci avec un bouton qui est censé ajouter des lignes de saisies. Cependant, je pense que le code marche (en effet le bouton marche dans une page html vierge), donc je pense que c'est une erreur de placement dans mes différentes pages, mais j'ai tout essayer et je trouve pas la solution.
Je m'explique pour être plus clair: en fait j'ai une page ajouter.php qui contient une fonction "detail_noeud" et qui appelle la page form_ajax.php qui me permet de renseigner dans une input text un nombre qui répétera un formulaire le nombre de fois saisi, juste qu'ici j'ai pas de problème mais mon bouton qui doit insérer les lignes de saisies ne fonctionnent pas
.
PAGE AJOUTER:
Voila le code qui pose problème form_ajax.php:
Si il y a quelqu'un pour m'aider, merci d'avance , en esperant que j'ai était assez clair
Voila j'ai un souci avec un bouton qui est censé ajouter des lignes de saisies. Cependant, je pense que le code marche (en effet le bouton marche dans une page html vierge), donc je pense que c'est une erreur de placement dans mes différentes pages, mais j'ai tout essayer et je trouve pas la solution.
Je m'explique pour être plus clair: en fait j'ai une page ajouter.php qui contient une fonction "detail_noeud" et qui appelle la page form_ajax.php qui me permet de renseigner dans une input text un nombre qui répétera un formulaire le nombre de fois saisi, juste qu'ici j'ai pas de problème mais mon bouton qui doit insérer les lignes de saisies ne fonctionnent pas
PAGE AJOUTER:
- Code: Tout sélectionner
<head><script>
function detail_noeud(str){
if (str==""){
document.getElementById("cluster_nb_noeud").innerHTML="";
return;
}
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("detail_noeud").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","form_ajax.php?f=detail_noeud&v="+str,true);
xmlhttp.send();
}
</script>
</head>
<div id="detail_noeud"></div>
Voila le code qui pose problème form_ajax.php:
- Code: Tout sélectionner
if ($fonction == "detail_noeud" && is_numeric($_GET["v"]) && $_GET["v"] != 0){
$nb_noeuds = $_GET["v"];
$i = 1;
while ($i <= $nb_noeuds){ //répète le tableau ci dessous le nombre de fois qui à etait saisi
?>
<p align=left><H3><b><u>Cartes Add-On dans le Produit</u></b></H3></p>
<H5>Si le nombre de cartes est différent, prendre le nombre le plus grand</H5>
<table border="1">
<tr><td colspan="2" align=center><h3>Tete <?=$i?></h3></td></tr>
<tr>
<td align=center>Cartes Add_on</td>
</tr>
<tr>
<td><input type=text name=nom_addon <?=$i?> size=30></td>
</tr>
</table>
<script>
var nlignes = 1;
function Ajouter(){
nlignes++;
saisies.insertAdjacentHTML('BeforeEnd','<BR>Produit '+nlignes+' <input type=text size=4 name=P'+nlignes+'> Quantité '+nlignes+' <input type=text name=QT'+nlignes+'> et de trois '+nlignes+' <input type=text name=QT'+nlignes+'>');
};
</script>
\\bouton qui s'affiche mais qui ajoute pas les lignes de saisies alors que dans une page vierge il fonctionne tres bien
<Form>
<Input Type="Button" Value="Ajouter une ligne" OnClick=Ajouter()>
<br>
<Div ID="saisies"> Produit 1 <input type="text" size=4 name="P1"> Quantité 1 <input type="text" name="QT1"> et de trois 1<input type="text" name="QT1"></Div>
</Form>
<?php
$i++;
?>
<?php
}
}
?>
Si il y a quelqu'un pour m'aider, merci d'avance , en esperant que j'ai était assez clair
- itry
- Nouveau WRInaute

- Messages: 24
- Inscription: 7 Fév 2012
Re: Problème bouton d'ajout de ligne de saisie(input) dans formulaire
Est ce le fait que le bouton "ajouter des lignes de saisi" est dans un "while", si cela pose un problème ? ou si les méthodes d'envoi dans la page même ou entre les deux pages ne sont pas bonnes je sais pas??? merci
-

UsagiYojimbo - WRInaute accro

- Messages: 8578
- Inscription: 23 Nov 2005
Re: Problème bouton d'ajout de ligne de saisie(input) dans formulaire
Et d'opter pour un framework JS, grâce auquel tu t'affranchiras de pas mal de bug / soucis liés aux navigateurs.
-

zeb - WRInaute accro

- Messages: 4563
- Inscription: 5 Déc 2004
Re: Problème bouton d'ajout de ligne de saisie(input) dans formulaire
je suis pas du tout certain que du code javascript chargé via une requête ajax puisse s'exécuter (j'ai déjà eu le souci). La solution est de charger le javascript utile avec la page et de n'utiliser les chargements ajax que pour le html.
Sinon tu peux aussi prévoir un script qui ajoutera dynamiquent d'autre scripts JS mais cela doit se faire depuis le document d'origine.
Sinon tu peux aussi prévoir un script qui ajoutera dynamiquent d'autre scripts JS mais cela doit se faire depuis le document d'origine.
-

zeb - WRInaute accro

- Messages: 4563
- Inscription: 5 Déc 2004
Re: Problème bouton d'ajout de ligne de saisie(input) dans formulaire
Bah sans regarder ton code en détail, sur l'action qui charge a l'aide d'ajax la partie html pure tu ajoute un script du genre :
Mais note bien que c'est pas logique ni normal de devoir charger du code JS dynamiquement. Ou du moins ça devrait être assez rare sur un système bien pensé au départ. Il n'est en effet pas logique de ne pas disposer de ton JS au chargement premier de la page.
- Code: Tout sélectionner
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://www.example.com/script/my-script.js';
document.getElementsByTagName('head')[0].appendChild(script);
Mais note bien que c'est pas logique ni normal de devoir charger du code JS dynamiquement. Ou du moins ça devrait être assez rare sur un système bien pensé au départ. Il n'est en effet pas logique de ne pas disposer de ton JS au chargement premier de la page.
- itry
- Nouveau WRInaute

- Messages: 24
- Inscription: 7 Fév 2012
Re: Problème bouton d'ajout de ligne de saisie(input) dans formulaire
Voila ça marche !!! merci beaucoup !! en effet, il fallait mettre le script fonction dans la page d'origine , la div "<Div ID="saisies"> Produit 1 <input type="text" size=4 name="P1"> Quantité 1 <input type="text" name="QT1"> et de trois 1<input type="text" name="QT1"></Div>" dans la page ajouter et laisser le bouton dans la page form_ajax
merci
merci
- itry
- Nouveau WRInaute

- Messages: 24
- Inscription: 7 Fév 2012
Re: Problème bouton d'ajout de ligne de saisie(input) dans formulaire
Bonjour a tous,
j'ai un autre petit souci, sur ce même script, mon bouton marche mais étant dans un while il se répète le nombre de fois saisi, c'est normal. Mais comment faire pour que les différents bouton ne soit pas dépendant l'un de l'autre? car en effet, que j'appuie sur un bouton ou un autre il m'ajoute mes lignes l'une au dessous de l'autre, alors que je voudrais que chacun ajoute ses propres lignes.
j'ai un autre petit souci, sur ce même script, mon bouton marche mais étant dans un while il se répète le nombre de fois saisi, c'est normal. Mais comment faire pour que les différents bouton ne soit pas dépendant l'un de l'autre? car en effet, que j'appuie sur un bouton ou un autre il m'ajoute mes lignes l'une au dessous de l'autre, alors que je voudrais que chacun ajoute ses propres lignes.
-

zeb - WRInaute accro

- Messages: 4563
- Inscription: 5 Déc 2004
Re: Problème bouton d'ajout de ligne de saisie(input) dans formulaire
itry a écrit:ok il a sa div id mais ce sera le même pour tous les boutons,
Normalement (norme html) il ne dois jamais y avoir deux ID identiques (par définition) Dans ton cas vue que tu as une boucle genre while de mémoire tu peux concaténer un indice à l'ID que tu incrémenterait a chaque tour
genre :
- Code: Tout sélectionner
var indice = 1;
while(condition){
code = '<div id="MonID' + indice + '">(...)</div>';
indice++;
}
il te faudra surement ensuite adapter ton code javascript pour qu'il prenne en compte l'indice dans sa fonction métier.
Tes boutons qui déclenchent tes actions devront donc transmettre l'indice au javascript dans l'appel de fonction.
21 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- [JS] Masquer / afficher un <div> à la saisie d'un <input>
- Javascript ajout de lignes de saisie de formulaire
- Intégration bouton dans input
- AJOUTER UN BOUTON POUR SUPPRIMER INPUT TYPE TEXT ??
- mon royaume pour le code d'un bouton input
- [PHP] recuperer chaques ligne d'une zone de saisie
- [JS] Remplacer des retours à la ligne par des <br /> à la saisie
- Modification / ajout ligne sur des milliers de fichiers
- probleme de saisie de texte sur PC portables
- CustomSearch : problème avec les accents dans le champ de saisie
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

