Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

Re: ligne se rajoute automatiquement lorsque l'on écrit valeur dans formulaire

Envoyé: 20 septembre 2006, 9h43 par Oznog


Salut,

Au plus simple, tu peux simplement les ajouter un en dessous des autres en incrémantant une valeur numérique pour les identifier. Avec innerHTML :

<html>
<head>
<title>Trucsweb - Formulaire dynamique</title>

<style>
.monObjet {
position: absolute;
top: 1;
left: 1
}
</style>

<script type="text/javascript" language="javascript">
<!--

var nbrForm = 0;

var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

var nForm1 = '<form>Formulaire<br >';
var nForm2 = '</form>';
var nForm3 = nForm1 + nForm2;

function Ajoute_form() {
nbrForm +=1;
nForm1 = nForm1 + '<table cellspacing="0" cellpadding="0" border="0"><tr><td align="center">ADD'+nbrForm+'</td></tr><tr><td>Champ1'+nbrForm+' : <input type="Text" name="champ1'+nbrForm+'+"> Champ2'+nbrForm+' : <input type="Text" name="champ2'+nbrForm+'"></td></tr><tr><td>Area'+nbrForm+' : <textarea name="area'+nbrForm+'"></textarea></td></tr></table>';
nForm3 = nForm1 + nForm2;
}

function twAjoute_form(nObjet,nContenu,nLeft,nTop) {
// Script gratuit des Trucsweb
// http://www.trucsweb.com
// Laisser cette remarque
// nObjet = le nom de l'objet
// nContenu = Le contenu affiché dans l'objet
// nLeft = La position x (de: haut gauche)
// nTop = La position y (de: haut gauche)

if (ns4) {
document.eval(nObjet).document.write(nContenu);
document.eval(nObjet).top =nTop;
document.eval(nObjet).left =nLeft;
document.eval(nObjet).document.close();
}
else if (ns6) {
document.getElementById(nObjet).innerHTML = nContenu;
document.getElementById(nObjet).style.left=nLeft;
document.getElementById(nObjet).style.top =nTop;
}
else if (ie4) {
eval(nObjet).innerHTML = nContenu;
eval(nObjet).style.pixelLeft=nLeft;
eval(nObjet).style.pixelTop=nTop;
}
}
// -->
</script>
</head>

<body>
<div class="monObjet" id="monObjet">Le DIV</div>
<br><br><br>
<a href="#"
onClick="Ajoute_form(); twAjoute_form('monObjet',nForm3,75,1)">Ajouter</a><br><br><br><br>
</body>
</html>

Mais tu peux aussi carrément les créer dans le DOM.

<html>
<head>
<title>DOM: Create Inputs</title>

<script type="text/javascript">
<!--//
function addInputs(theInput){
var table = document.createElement('table');
table.id = 'hMembers';
var hMembers = document.getElementById('hMembers');
if(hMembers)theInput.parentNode.removeChild(hMembers);

if(theInput.value.match(/^\d+$/)){
var tbody = document.createElement('tbody');
for(var i=0; i<theInput.value; i++){
var row = document.createElement('tr');
var cell = document.createElement('td');
var num = document.createTextNode((i+1)+')');
cell.appendChild(num);
row.appendChild(cell);
tbody.appendChild(row);

var cell = document.createElement('td');
var name = document.createTextNode('name:');
var input = document.createElement('input');
input.size = 20;
input.name = 'name'+(i+1);
cell.appendChild(name);
cell.appendChild(input);
row.appendChild(cell);
tbody.appendChild(row);

var cell = document.createElement('td');
var age = document.createTextNode('age:');
var input = document.createElement('input');
input.size = 1;
input.name = 'age'+(i+1);
cell.appendChild(age);
cell.appendChild(input);
row.appendChild(cell);
tbody.appendChild(row);

var cell = document.createElement('td');
var sex = document.createTextNode('sex:');
var input = document.createElement('input');
input.size = 2;
input.name = 'sex'+(i+1);
cell.appendChild(sex);
cell.appendChild(input);
row.appendChild(cell);
tbody.appendChild(row);
} table.appendChild(tbody);
theInput.parentNode.insertBefore(table,theInput.nextSibling);
}

else{ alert('Please enter only numbers in this field!');
theInput.value = '';
theInput.focus();
}
}
//-->
</script>
</head>

<body>
<form method="get" action="">
How many inputs: <input type="text" onchange="addInputs(this)">
</form>

</html>

Ciao
Oznog


Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@