Ciao, premesso che non so cosa vuoi registrare nel form, ti faccio l'esempio che ho usato io per registrare nella tendina "professioni"
che è una select, tramite un campo prompt un nuovo valore e nello stesso tempo registrarlo nel DB via Ajax. Supponiamo che la select sia questa che mostro qui come codice
codice:
<select name="professione" id="professione" size="1"
style="width: 300px; background-color: #EBEBEB; color: #000099;" <%=crsx%> >
<% SQL="select * from Professioni order by Descrizione ASC;"
RS.Open SQL, conn, 3, 3
Do until RS.EOF
if professione = RS.fields("codice") then
sele=" selected "
else
sele=""
end if %>
<option value="<%= RS.Fields("codice")%>" <%=sele%>><%=UCASE(RS.Fields("Descrizione"))%></option>
<% RS.Movenext
loop
RS.Close
%>
</select>
<img alt="" src="ICONE/equip.ico" style="width:22px; height:22px;" onmouseOver="this.src='ICONE/editorw.ico'" onmouseout="this.src='ICONE/equip.ico'" onClick="AggiungiProfessione()" title="Aggiungere una professione cliente? ..." />
ora di fianco alla select ci sta una immagine piccola e cliccando sull'immagine attivo la procedura di registrazione nuovo record nel DB
e ora ti posto lo script jscript che si chiama AggiungiProfessione()....e che chiama l'altro script AggiungiVoce()...che per serve solo a verificare di non inserire un doppione ma che alla fine chiama la parte che ti interessa cioe InserimentoTabella(...)
codice:
function AggiungiProfessione() {
var categ = "...";
var cat="professione";
categ = window.prompt("Digita la professione", categ, 200, 200);
if (categ!=null)
AggiungiVoce(cat,categ.substr(0,50));
}
function AggiungiVoce(cat,testo_selezionato){
num_option=document.getElementById(cat).options.length;
indice_selezionato = document.getElementById(cat).selectedIndex;
if(indice_selezionato>=0){
duplicato=0;
for(a=0;a<num_option;a++){
if(document.getElementById(cat).options[a].value==testo_selezionato){
duplicato=1;
}
}
if(duplicato==0){
document.getElementById(cat).options[num_option]=new Option('',escape(testo_selezionato),false,false);
document.getElementById(cat).options[num_option].innerHTML = testo_selezionato;
InserimentoTabella(cat,testo_selezionato);
}
}
}
function InserimentoTabella(cat,txt) {
var datiform ="cat="+cat+"&des="+txt;
//alert(datiform);
$.get("InserimentoTB.asp?"+datiform,function(data, status){
document.getElementById("msg").value=data;
});
}
...
Be questo è un pezzo di codice ma u devi estrapolare quello che serve a te...
io ho fatto uno script generico per registrare piu tipi di record e ti posto lo script chiamato...InserimentoTB.asp
codice:
<!-- #include file="Connessioni.asp" -->
<%
dim cat,des, PK, TB, SWERR
cat=request.QueryString("cat")
des=request.QueryString("des")
'response.write "cat=" & cat
select case cat
case "categoria"
TB="CategorieClienti"
PK="codicecategoria"
case "nazione"
TB="nazioni"
PK="codicenazione"
case "professione"
TB="professioni"
PK="codice"
case "categoriafornitore"
TB="categoriefornitori"
PK="codicecategoria"
case "categoriamerce"
TB="categoriemerce"
PK="codicecategoria"
case "causale"
TB="causali"
PK="causale"
end select
SQL="Select * from " & TB & " order by " & PK & " DESC"
RS.Open SQL, conn, 3, 3
if not RS.EOF then
PK = RS(PK) + 1
else
PK = 1
end if
RS.Addnew
RS(0) = PK
RS(1) = des
RS.Update
RS.Close
response.write("INSERIMENTO RECORD IN TABELLA " & cat & " ESEGUITO...")
response.end()
%>
<!-- #include file="Disconnessioni.asp" -->
...
Nei miei programmi ci sono in testa e in coda i file di include che fanno la connessione e la disconnessione dal database naturalmente e predispongono in automatico 3 recordset RS, RS1 e RS2 + la connessione
le tabelle sono simili hanno due campi una chiave numerica e una testo che sono rispettivamente i campi
RS(0) e RS(1) e li punto senza il nome...ok?
spero ti basti l'esempio...
ciao