Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Inserire campi form e select nel FORM

    Ciao Raga...
    avrei l'esigenza di creare 1 funzione che cliccando un pulsante mi inserisce una riga con
    dei campi dinamici nel mio form....

    es.
    ho la prima riga con

    <input type=text name=nome>
    <input type=text name=cognome>
    <select size=1 name=sesso>
    <option value=Maschio>
    <option value=Femmina>
    </select>
    <input type=text name=indirizzo>

    cliccando sul pulsante mi crea un'altra riga con gli stessi campi....


    Grazie in anticipo....
    Gestionale Strutture Ricettive...http://www.celexdesign.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    ciao io ho questa funzione(ti do anche quella x eliminare la riga):
    codice:
    <script type="text/javascript">
    	var cntRows=1;
    	function AddRow() {
    		cntRows++
    		var cell=cntRows
    		var newcell="<input type=\"text\" name=\"riga"+"\" size=\"7\" value=\""+cell+"\">"
    		var newcell2="<input type=\"text\" name=\"art"+"\" size=\"20\">"
    		var newcell3="<input type=\"text\" name=\"qnt"+"\" size=\"20\">"
    		var newcell4="<input type=\"text\" name=\"prezzo"+"\" size=\"20\">"
    		var newcell5="<input type=\"button\" name=\"B2"+"\" size=\"20\" value=\"Inserisci Riga\" onclick=\"AddRow()\">"
    		var newcell6="<input type=\"button\" name=\"B3"+"\" size=\"20\" value=\"Elimina Riga\" onclick=\"DelRow()\">"			
    		
    		tDettaglio.insertRow()
    		tDettaglio.rows(tDettaglio.rows.length-1).insertCell()
    		tDettaglio.cells(tDettaglio.cells.length-1).innerHTML=newcell
    		tDettaglio.rows(tDettaglio.rows.length-1).insertCell()
    		tDettaglio.cells(tDettaglio.cells.length-1).innerHTML=newcell2
    		tDettaglio.rows(tDettaglio.rows.length-1).insertCell()
    		tDettaglio.cells(tDettaglio.cells.length-1).innerHTML=newcell3
    		tDettaglio.rows(tDettaglio.rows.length-1).insertCell()
    		tDettaglio.cells(tDettaglio.cells.length-1).innerHTML=newcell4
    		tDettaglio.rows(tDettaglio.rows.length-1).insertCell()
    		tDettaglio.cells(tDettaglio.cells.length-1).innerHTML=newcell5
    		tDettaglio.rows(tDettaglio.rows.length-1).insertCell()
    		tDettaglio.cells(tDettaglio.cells.length-1).innerHTML=newcell6
    	}
    		
    	function DelRow() {
    		var current = window.event.srcElement;
       		while ( (current = current.parentElement)  && current.tagName !="TR");
            		 current.parentElement.removeChild(current);
    	}
    dove la prima riga e i pulsanti sono:
    codice:
    	<td><input type="text" name="riga" size="7" value="1" readonly></td>
    	<td><input type="text" name="art" size="20"></td>
    	<td><input type="text" name="qnt" size="20"></td>
    	<td><input type="text" name="prezzo" size="20"></td>
    	<td><input type="button" name="B2" onclick="AddRow()" value="Inserisci Riga"></td>
    	<td><input type="button" name="B3" onclick="DelRow()" value="Elimina Riga"></td>

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    questo script che hai postato non mi risulta poter funzionare con browser diversi da IE

    in script/ discussioni utili c'e' "aggiungi / rimuovi input dinamicamente"
    che e' un buon esempio da cui partire per celex
    (che, tra l' altro, l' avrebbe trovata da solo, con un minimo di ricerca...)

  4. #4
    Ciao Xinod...

    io avevo trovato la discussione che dici.....
    ma non parla delle SELECT.....

    il mio problema è proprio impostare le SELECT.....

    infatti se leggi l'apertura del POST è:

    .......<select size=1 name=sesso>
    <option value=Maschio>
    <option value=Femmina>
    </select>.............


    Come posso impostare il tutto???
    Gestionale Strutture Ricettive...http://www.celexdesign.it

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il concetto e' sempre lo stesso, createElement e appendChild
    ti faccio un esempio a pagina vuota (anche un po' piu' articolato di quello che serve a te per il caso specifico), pensa tu ad integrarlo nell' altro esempio
    codice:
    <script type="text/javascript">
    /*<![CDATA[*/
    window.onload=function(){
    
    var opz={
    	// 'text':'value',
    	'scegli:':'',
    	'prima':'prima.htm',
    	'seconda':'seconda.htm',
    	'terza':'terza.htm'
    }
    
    	var f=document.forms[0];
    	var sel=document.createElement('select');
    	sel.onchange=function(){alert(this.options[this.selectedIndex].value)}
    	for(var k in opz){
    		var op=document.createElement('option');
    		op.appendChild(document.createTextNode(k));
    		op.setAttribute('value',opz[k]);
    		sel.appendChild(op);
    	}
    	f.appendChild(sel);
    }
    /*]]>*/
    </script>
    codice:
    <body>
    <form>
    </form>
    </body>
    poi, ma non c'entra con questo problema delle select, ma con il setAttribute del name su IE
    consiglio di leggere questo
    http://www.thunderguy.com/semicolon/...rnet-explorer/
    perche' anche quello script potrebbe riservare sorprese
    ciao

  6. #6
    Grazie...Xinod funziona correttamente...

    ora il mio problema è come impostare la funzione onKeyup ad un INPUT tramite il
    setAttribute

    .......come posso fare???
    Gestionale Strutture Ricettive...http://www.celexdesign.it

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    come con gli altri gestori di eventi (onchange, onclick) nei 2 esempi
    quindi non si fa con il setAttribute perche' non sono attribute

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.