passage de parametre

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 : passage de parametre

par jeff » 22 déc. 2005, 16:29

tous ca pour des parentheses ](*,) :tir2:
je vais me pendre

par jeff » 22 déc. 2005, 15:52

je crois que mon probleme vient du fait que je n'ecris dans mon document
mais que j'affiche seulement et que donc au liieu que ce soit du texte qui soit envoyer a la fontion c'est autre chose mais quoi??

par jeff » 22 déc. 2005, 14:32

tout le code
c'est a dire parceque ma premiere fonction fait appel a ajax bon aller
pourquoi pas ca va etre long

deja le fichier template

Code : Tout sélectionner

<p id="etat"></p> <form action="#" method="POST" name="frm" id='frm'> <fieldset><legend>administration des comptes</legend> <div> <div> <label>administrateur produit<img src="template/templates/admin/img/info.gif" alt="info" title="info" onclick='display("ad_prod","getGroupData")'/></label> {mySelect label=$ad_prod valeur='user' id="ad_prod" size="10" } </div> <div> <img src="template/templates/admin/img/leftrow.jpg" class="left" onclick="moveField('ad_comm','ad_prod');"/> <img src="template/templates/admin/img/rightrow.jpg" class="right" onclick="moveField('ad_prod','ad_comm');"/> </div> <div> <label>administrateur formation<img src="template/templates/admin/img/info.gif" alt="info" title="info" onclick='display("ad_comm","getGroupData")'/></label> {mySelect label=$ad_comm valeur='user' id="ad_comm" size="10" } </div> </fieldset> <fieldset> <legend>utilisatuer</legend> <dd> <dl><label for="login">login:</label><input id="login" type="text" name="login" value=""/></dl> <dl><label for="groupe">groupe:</label><select name="groupe" id="groupe"> <option value="">ad_prod</option> <option value="">ad_comm</option> </select></dl> <dl><label for="email">email:</label><input id="email" type="text" name="email" value=""/></dl> <input type="image" name="send" onclick="verifData()"/> </dd> </fieldset> </form> <div id="info"> </div>
les fonctions javascript
la fonction formRadio qui pren en parametre le fichier xml, ce fichier
va etre transformer pour l'affichage HTML
l'aafichege ce fait sous forme de tableau avec a la fin des boutons radio pour dire si l'action est permise ou non
function formRadio(xml,args)
{
	var buffer=''
	buffer+='<h2>'+xml.getElementsByTagName('groupe')[0].firstChild.nodeValue+'</h2>';
	buffer+='<a onclick="hidden();">fermer</a>';
	buffer+='<form action="" method="POST" id="frm1"/>';
	buffer+='<table><th>module</th><th>action</th><th>allowed</th><th>denied</th>';
	var node = xml.getElementsByTagName('module');
	for(i=0;i<node.length;i++){
		if(node[i].nodeName != "#text" &&  node[i].hasAttributes()){

			buffer+='<tr style="background-color:';
			if(node[i].getAttribute('auth')=="1"){
				buffer+='green">';
			}else{
				buffer+='red">';
			}
			buffer+='<td>'+node[i].getAttribute('module')+'</td>';
			buffer+='<td>'+node[i].getAttribute('action')+'</td>';
			if(node[i].getAttribute('auth')==1){
				window.id="radio"+node[i].getAttribute('name');
				buffer+='<td><input id="'+id+'" "type="radio" name="'+node[i].getAttribute('name')+'" value="" checked="checked" onclick="Apermit(window.id);"/></td>';
				buffer+='<td><input id="'+id+'" type="radio" name="'+node[i].getAttribute('name')+'" value="" onclick="Apermit(window.id);"/></td>';
			}else{
				buffer+='<td><input  id="'+id+'" type="radio" name="'+node[i].getAttribute('name')+'" value="" onclick="Apermit(window.id);"/></td>';
				buffer+='<td><input  id="'+id+'" type="radio" name="'+node[i].getAttribute('name')+'" value="" checked="checked" onclick="Apermit(window.id);"/></td>';
			}
		}

		buffer+='</tr>';
	}
	buffer+='</table></form>';
	document.getElementById(args[0]).innerHTML=buffer;
}
mais bouton radion font appel a un fonction Apermit celle ci prend en parametre l'id du bouton modifier( :oops: je viens de me rendre compte quesur une meme ligne mes bouton aurons le meme id)

en fait on arrive a un autre probleme comment distinguer si on permet ou non une action (peut etre qu'une case a cocher serait finalement plus adapter)
function Apermit(id){
	alert(id);

	//alert(document.getElementById(id).hasAttributes());
de mon cote je vais reflechir au checbox

question subsidiare avec vous des ressource sur la modification de l'apparence de tel bouton

merci pour tout :D

par dehian » 22 déc. 2005, 14:09

si tu envoies tout le code je veux bien essayer de te trouver une solution....mais là j'ai pas assez d'elements....

par jeff » 22 déc. 2005, 13:12

bon ca m'a gacher ma soiré et c'est partie pour la journé

j'ai esaye avec window.id
mais il me prend la derniere valeur de id j'ai essaye en faisant id
mais cela ne fonctionne pas
y aurait il une ame charitable en ces periodes de fetes
#-o

passage de parametre

par jeff » 21 déc. 2005, 18:27

salut
je revien avec des pb de js classique

mon probleme est le suivant:
dans une faonstion j'ecris du html et dans ce html je fait reference a des fonction js qui se declenche sur onclick, c'est fonction on besoi de parametre pour fonctionner ex l'id, pour moi tout ceci est du texte normalement mais apparament pas pour js

en effet quand j'appel ma fonction, je trnsmet a celle ci un id d'une balise
mais voila il me dit que c'est un objet DOM

voici le code
fonction qui ecris le html

Code : Tout sélectionner

function formRadio(xml,args) { var buffer='' buffer+='<h2>'+xml.getElementsByTagName('groupe')[0].firstChild.nodeValue+'</h2>'; buffer+='<a onclick="hidden();">fermer</a>'; buffer+='<form action="" method="POST" id="frm1"/>'; buffer+='<table><th>module</th><th>action</th><th>allowed</th><th>denied</th>'; var node = xml.getElementsByTagName('module'); for(i=0;i<node.length;i++){ if(node[i].nodeName != "#text" && node[i].hasAttributes()){ buffer+='<tr style="background-color:'; if(node[i].getAttribute('auth')=="1"){ buffer+='green">'; }else{ buffer+='red">'; } buffer+='<td>'+node[i].getAttribute('module')+'</td>'; buffer+='<td>'+node[i].getAttribute('action')+'</td>'; if(node[i].getAttribute('auth')==1){ id="radio"+node[i].getAttribute('name'); buffer+='<td><input id="'+id+'" "type="radio" name="'+node[i].getAttribute('name')+'" value="" checked="checked" onclick="Apermit('+id+');"/></td>'; buffer+='<td><input id="'+id+'" type="radio" name="'+node[i].getAttribute('name')+'" value="" onclick="Apermit('+id+');"/></td>'; }else{ buffer+='<td><input id="'+id+'" type="radio" name="'+node[i].getAttribute('name')+'" value="" onclick="Apermit('+id+');"/></td>'; buffer+='<td><input id="'+id+'" type="radio" name="'+node[i].getAttribute('name')+'" value="" checked="checked" onclick="Apermit('+id+');"/></td>'; } } buffer+='</tr>'; } buffer+='</table></form>'; document.getElementById(args[0]).innerHTML=buffer; }
et la fonction qui me reourne un objet DOM, ce que je ne veu pas

Code : Tout sélectionner

function Apermit(id){ alert(id); //alert(document.getElementById(id).hasAttributes()); }
avez une idée ou deux la dessus avnt que cela me gache ma soirée
merci