contemporaneamente in piu campi testo lo stesso valore

gasparroa

Utente Attivo
4 Dic 2008
57
0
0
Buona sera

e possibile scrivere contemporaneamente in piu campi testo lo stesso valore?

mi spiego

cella1= valore1

cella2= (cella1)

cella3= Valore(cella1)

mi date un aiuto

Grazie mille
 
Certamente. Supponiamo che tu abbia questi tre campi:
HTML:
<input type="text" id="campo1" />
<input type="text" id="campo2" />
<input type="text" id="campo3" />
Puoi aggiungere del codice Javascript simile a questo:
Codice:
document.getElementById('campo1').onchange = aggiorna;

function aggiorna()
{
	document.getElementById('campo2').value = document.getElementById('campo1').value;
	document.getElementById('campo3').value = document.getElementById('campo1').value;
}
Fammi sapere se funziona!
 
non funziona genera questo errore

Dettagli errore pagina Web

Messaggio: 'document.getElementById(...)' è nullo o non è un oggetto
Linea: 7
Carattere: 1
Codice: 0
 
ecco il codice

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<script type="text/javascript">
document.getElementById('campo1').onchange = aggiorna;

function aggiorna()
{
	document.getElementById('campo2').value = document.getElementById('campo1').value;
	document.getElementById('campo3').value = document.getElementById('campo1').value;
}
</script>
</head>

<body>
<div style="height:100%;">
<input type="text" id="campo1" />
<input type="text" id="campo2" />
<input type="text" id="campo3" />
</div>
</body>
</html>
 
Adesso funziona bene solo che ho un altro problema

vorrei farlo interagire con questa funzione

PHP:
<script type="text/javascript"> 
function startCalc(value1, value2, sum)
{ 
	interval = setInterval("calc('" + value1 + "', '"+ value2 +"', '"+ sum +"')", 1);
}

function calc(value1, value2, sum)
{ 
	var one = document.getElementById(value1).value;
	var two = document.getElementById(value2).value;
	document.getElementById(sum).value = (one) - ((one) * (two)) / 100;
}

function stopCalc()
{ 
	clearInterval(interval); 
}
</script> 

<script type="text/javascript">
function aggiorna()
{
	document.getElementById('campo2').value = document.getElementById('campo1').value;
	document.getElementById('campo3').value = document.getElementById('campo1').value;
}
</script>

<form name="autoSumForm">  
<?php  
$num=20; 
<input type="text" id="campo1" onchange="aggiorna()" /> 
//il campo 2  dovrebbe essere id=\"prezzo$k\"

for($k=1;$k<=$num;$k++) 
{ 
    echo" 
<input type=\"text\" id=\"prezzo$k\" name=\"prezzo[]\" onfocus=\"startCalc('prezzo$k', 'sconto$k', 'prezzofin$k')\" onblur=\"stopCalc();\" />   
    <input  type=\"text\" id=\"sconto$k\" name=\"sconto[]\" onfocus=\"startCalc('prezzo$k', 'sconto$k', 'prezzofin$k');\" onblur=\"stopCalc()\" value=\"10\" readonly=\"readonly\" />  
    <input type=\"text\" id=\"prezzofin$k\" name=\"prezzofin[]\" readonly=\"readonly\" /> 
    <br />"; 
}?> 
</form>
 
Quindi tu devi inserire in prezzo$k e sconto$k il valore del campo con ID campo1, giusto? Allora non capisco il bisogno di integrarlo con la funzione startCalc che agisce sul valore di prezzo$k...


prezzo$k deve essere uguale per tutti i campi e deve essere uguale al valore di <input type="text" id="campo1" onchange="aggiorna()" />

sconto$k viene letto dal db
Prezzo Finale viene calcolato in base al valore di sconto e del prezzo


forse si puo eliminare prezzo$k

inserire un solo prezzo

e poi calcolare in un ciclo

for(.........){

sconto e prezzo_finale
}
 
Prova a modificare così la funzione:
PHP:
<?php
$num = 20;

echo <<<EOF
<script type="text/javascript"> 
function aggiorna() 
{ 
EOF;

for($i = 0; $i <= $num; $i++)
    echo "\tdocument.getElementById('prezzo{$i}').value = document.getElementById('campo1').value;\n";

echo <<<EOF
} 
</script> 
EOF;
?>
 
Non funziona.

ho modificato quello funzionante cosi ma funziona solo il primo campo

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Documento senza titolo</title> 
<script type="text/javascript"> 

function aggiorna() 
{ 
    document.getElementById('campo2').value = document.getElementById('campo1').value; 
} 
</script> 
</head> 

<body> 
<input type="text" id="campo1" onchange="aggiorna()" /> <br />
<?php 
for($l=1;$l<=10;$l++)
{
?>
<input type="text" id="campo2" readonly="readonly" /><br /> 
<?php }?>
</body> 
</html>
 
Puoi modificare il corpo della funzione così:
Codice:
var elem = document.getElementsByName('campo2');

for(i = 0; i <= elem.length; i++)
	elem[i].value = document.getElementById('campo1').value;
E cambiare la riga relativa a campo2 così:
HTML:
<input type="text" name="campo2" readonly="readonly" /><br />
 
Scusami se torno sempre sulle stesse cose ma con javascrit dire che sono a livello 0 su una scala che va da 0 a 10 !!!

ho modificato gli script precedenti ma non riesco a fare quello che voglio riesco a stampare tutti i campi nel celle vuote ma poi non calcola la percentuale in automatico devo perforza cliccare su ogni cella se non mi calcola la percentuale.

Vorrei modificarlo cosi ma è per me ancora più difficile e non riesco a farlo

vorrei inserire una sola volta il prezzo e la funzione mi deve calcolare il prodotto su tutte le celle



PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>

</head>

<body>
<input type="prezzo" id="prezzo"/><br /><br />
<?php
for($h=0;$h<=3;$h++)
{
?>
<input type="percentuale" id="percentuale" value="6.00" />&nbsp;<input type="risultato" id="risultato" /><br />
<?php 
}
?>
</body>
</html>
 
ho corretto cosi ma non va come vorrei

Ho caricato due pagine la prima è quella che funziona correttamente.

http://senerchiazzate.eu/somma.php


ho apportando qualche modifica di disposizione, vorrei inserire una sola volta il numero e vorrei che avesse lo stesso comportamento del primo link

nella seconda pagina funziona solo che devo cliccare su ogni cella non compare in automatico come nella prima pagina

http://senerchiazzate.eu/somma1.php

PHP:
<input type="text" id="prezzo" onfocus="startCalc('prezzo','percentuale','risultato');" onblur="stopCalc();"/><br/><br/> 
<?php 
for($h=0;$h<=3;$h++) 
{ 
?> 
<input type="text" id="percentuale<?php echo $h; ?>" value="6.00" />&nbsp; 
<input type="text" id="risultato<?php echo $h; ?>" onfocus="startCalc('prezzo', 'percentuale', 'risultato');" onblur="stopCalc();" /><br /> 
<?php  
} 
?>
 
non riuscite a darmi una mano per risolvere il problema non riesco a modificarlo e farlo funzionare come al primo esempio
 

Discussioni simili