Combinaison de script js

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 : Combinaison de script js

Re: Combinaison de script js

par bunk » 22 févr. 2010, 12:16

Merci beaucoup !

Re: Combinaison de script js

par Truc » 22 févr. 2010, 11:21

Combinaison de script js

par bunk » 22 févr. 2010, 10:56

Bonjour,

Sur mon formulaire je voudrais faire deux choses, personnaliser le visuel de mes checkbox et donner le focus à un champ précis via son id. J'arrive à faire les deux mais pas en même temps.

Voila le code pour personnaliser le visuel :
<script type="text/javascript" src="js/checkbox.js"></script>
le code du fichier inclue :
//global variables that can be used by ALL the function son this page.
var inputs;
var imgFalse = 'images/check_false.gif';
var imgTrue = 'images/check_true.gif';

//this function runs when the page is loaded, put all your other onload stuff in here too.
function init() {
	replaceChecks();
}

function replaceChecks() {
	
	//get all the input fields on the page
	inputs = document.getElementsByTagName('input');

	//cycle trough the input fields
	for(var i=0; i < inputs.length; i++) {

		//check if the input is a checkbox
		if(inputs[i].getAttribute('type') == 'checkbox') {
			
			//create a new image
			var img = document.createElement('img');
			
			//check if the checkbox is checked
			if(inputs[i].checked) {
				img.src = imgTrue;
			} else {
				img.src = imgFalse;
			}

			//set image ID and onclick action
			img.id = 'checkImage'+i;
			//set image 
			img.onclick = new Function('checkChange('+i+')');
			//place image in front of the checkbox
			inputs[i].parentNode.insertBefore(img, inputs[i]);
			
			//hide the checkbox
			inputs[i].style.display='none';
		}
	}
}

//change the checkbox status and the replacement image
function checkChange(i) {

	if(inputs[i].checked) {
		inputs[i].checked = '';
		document.getElementById('checkImage'+i).src=imgFalse;
	} else {
		inputs[i].checked = 'checked';
		document.getElementById('checkImage'+i).src=imgTrue;
	}
}

window.onload = init;
et voila pour la partie qui donne le focus au champ :
<body onload="document.getElementById('nom').focus()">
J'ai fais plusieurs essai et à partir du moment ou je déclare quoi que ce soit dans mon body la personnalisation des checkbox ne fonctionne plus. En revanche le focus est bien donné à mon champ nom.

Auriez-vous un avis ?
D'avance merci.