PDA

View Full Version : [Javascript] Senzionare e postare Id riga tabella


corra
21-11-2007, 11:20
Ciao a tutti,chiedo il vostro aiuto per venire a capo ad un mio problema...


Ho una tabella dove ho per ogni riga un bottone di tipo radio con un Id che mi che mi identifica la corrispettiva riga,adesso io dovrei selezionare una sola riga e postare il comando al cgi, solo che non capisco come usare uno script javascript per selezionare una sola riga (cioè il corrispettivo Id ) e ignorare le altre.

Di seguito vi posto il codice...

Grazie per l'aiuto!!!!

Javascript (ovviamente sbagliato/incompleto)


<script language=javascript>

function Send2(){
var c1 = document.forms['myform'].cc1.value;
var c2 = document.forms['myform'].cc2.value;
var c3 = document.forms['myform'].cc3.value;

if (c1=="0" | c2=="" ) {


}

else if (c1!=1){

alert(" Seleziona un utente.");

}


else{


document.forms['prop'].var.value = '<Packet><DelClient><ID>'+c1+'</ID></DelClient></Packet>';
document.forms['prop'].submit();

}

}

</script>







L'Html:






<center> <img src="img/Sms.gif" /> </center> <!--Immagine Logo-->
<br>
<br>

<link rel="stylesheet" type="text/css" href="home.css" />


<table bgcolor="#FFFFFF" align="center" border="10px" cellspacing="5px" cellpadding="0px" width="762" height="438" >

<th>

<P align="center"> <H2>Lista Utenti<H2> </p>
<form name="myform" />

<table border="2" width="438" align="center">
<tr><td align="center"><H4>Seleziona<H4></td><td align="center"><H4>Cognome</H4></td><td align="center"><H4>Nome<H4></td><td align="center"><H4>Numero<H4></td><td align="center"><H4>Attivo<H4></td> </tr>
<tr><td align="center"><input type='radio' Value='123' name='cc1' ></td><td>Paperino</td><td>Paolino</td><td>1234567543</td><td>Attivo</td> </tr>
<tr><td align="center"><input type='radio' Value='456' name='cc2' ><td>Pippo</td><td>Pippo</td><td>12345697</td><td>Attivo</td> </tr>
<tr><td align="center"><input type='radio' Value='789' name='cc3'><td>pluto</td><td>To</td><td>999999999</td><td>Attivo</td> </tr>
</form>




</table>

<Br>

<form name='prop' action='cgi-bin' method='post'>
<input type='hidden' name='var'><br>

<input type="Button" value="Cancella" onClick='Send2()' >
</form>

</th>






</table>

softoxy
21-11-2007, 12:09
non ho mica capito il tuo problema.....

per controllare che un campo 'radio' è selezionato devi usare la sintassi

document.formName.radioName[i].checked == true

nel tuo caso non capisco perchè hai tre campi 'radio' con nomi differenti, forse volevi usare il campo 'checkbox' che utilizza la stessa sistassi di prima togliendo le parentesi quadre.

document.formName.checkboxName.checked == true

corra
21-11-2007, 12:58
Rispiego in soldoni:

Devo selezionare e postare una singola riga di una tabella. Ad ogni riga è associato un Id e tramite questo identificativo il mio cgi modifica o cancella i campi della riga...
Per fare questo pensavo di mettere un campo radio all'inizio di ogni riga,solo che quando faccio il post al Cgi ricevo solo il primo id anche nel caso io selezioni il secondo o il terzo campo.


Accetto qualsiasi suggerimento su altre possibili soluzioni

Guille
21-11-2007, 13:51
Se vuoi che sia selezionato un solo 'radio' di un gruppo devi dare a tutti lo stesso nome.

Prova a modificare il contenuto di ogni tuo tag <input> in questo modo:

<input type='radio' Value='123' name='ccRadio' onclick="radioChanged(this.value)">

ed aggiungi questa funzione javascript

function radioChanged(valore){
document.forms['prop'].var.value = '<Packet><DelClient><ID>'+valore+'</ID></DelClient></Packet>';
}


Ogni volta che selezioni un 'radio' viene richiamata la funzione 'radioChanged()' che setta il valore corrispondente nel tuo campo hidden 'var'. Ovviamente cosi facendo la funzione Send2() si ridurrebbe al semplice:

function Send2(){
document.forms['prop'].submit();
}

e puo essere ignorata sostituendo type="submit" a type="button" nel codice html relativo:

<form name='prop' action='cgi-bin' method='post'>
<input type='hidden' name='var'><br>

<input type="submit" value="Cancella">
</form>



PS: Qui (http://www.w3schools.com/default.asp) trovi tutto e di piu con la possibilita di provare al volo le cose.