38 messaggi dal 24 maggio 2002
l'errore e'alla riga 11 ossia
document.all['form'].submit();


E'molto, molto strano.....

38 messaggi dal 24 maggio 2002
Forse ho capito cosa e'che gli da fastidio ma non so come ovviare... Ho complicato un po il piccolo script di prova che funzionava e mi da lo stesso errore . Lo script e'il seguente:

<!--#include file="conn.asp"-->

<html>
<head>
<title>Untitled Document</title>
<script language="Javascript">
<!--
function invia(valore){
document.all['opertype'].value=valore;
document.all['form'].submit();
}
// -->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%Set rs = Server.CreateObject("ADODB.Recordset")
SQL="select * from rubrica_tesserati order by cognome, nome"
rs.open SQL,Conn,1,3%>

<% do while not rs.eof%>
Numero Tessera:<strong><%=rs("num_tessera")%></strong><br>
Nome:<strong><%=rs("nome")%></strong><br>
Cognome:<strong><%=rs("cognome")%></strong><br>
Indirizzo:<strong><%=rs("indirizzo")%></strong><br>
<form name="form" method=post action="prova2.asp">
<input type="hidden" name="opertype" >
<input type="button" name="Modifica" value="Modifica" onClick="javascript:invia('M')">
<input type="button" name="Cancella" value="Cancella" onClick="javascript:invia('C')">
</form>
<%rs.MoveNext

Loop%>
</body>
</html>

Non e'che gli da fastidio la lettura da un DB? E perche? ....


38 messaggi dal 24 maggio 2002
Messo in questa forma funziona, cioe'riesco ad andare alla pagina asp successiva(prova.asp). In questo modo pero'non posso accedere a ciascun singolo record per cancellarlo o modificarlo perche'la stampa dei record e'esterna al form che contiene Modifica/Cancella

<!--#include file="conn.asp"-->

<html>
<head>
<title>Untitled Document</title>
<script language="Javascript">
<!--
function invia(valore){
document.all['opertype'].value=valore;
document.all['form'].submit();
}
// -->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<%Set rs = Server.CreateObject("ADODB.Recordset")
SQL="select * from rubrica_tesserati order by cognome, nome"
rs.open SQL,Conn,1,3%>

<% do while not rs.eof%>


Numero Tessera:<strong><%=rs("num_tessera")%></strong><br>
Nome:<strong><%=rs("nome")%></strong><br>
Cognome:<strong><%=rs("cognome")%></strong><br>
Indirizzo:<strong><%=rs("indirizzo")%></strong><br>


<%rs.MoveNext

Loop%>
<form name="form" method=post action="prova2.asp">
<input type="hidden" name="opertype" value="" >
<input type="button" name="Modifica" value="Modifica" onClick="javascript:invia('M')">
<input type="button" name="Cancella" value="Cancella" onClick="javascript:invia('C')">
</form>
</body>
</html>


1.818 messaggi dal 21 giugno 2001
Contributi
Lo vediamo subito.
Prova a scrivere così
<!--#include file="conn.asp"-->

<%
Dim Tabella
Dim VediForm

Set rs = Server.CreateObject("ADODB.Recordset")
SQL="select * from rubrica_tesserati order by cognome, nome"
rs.open SQL,Conn,1,3

Tabella=""
VediForm=False

If Not rs.EOF Then
VediForm=True
do while not rs.eof
Tabella=Tabella & "Numero Tessera:<strong>" & rs("num_tessera") & "</strong><br>"
Tabella=Tabella & "Nome:"<strong>" & rs("nome") & "</strong><br>"
Tabella=Tabella & "Cognome:<strong>" & rs("cognome") & "</strong><br>"
Tabella=Tabella & "Indirizzo:<strong>" & rs("indirizzo") & "</strong><br>"

rs.MoveNext

Loop
End If

%>

<html>
<head>
<title>Untitled Document</title>
<script language="Javascript">
<!--
function invia(valore){
document.all['opertype'].value=valore;
document.all['form'].submit();
}
// -->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<% If VediForm Then
Response.Write Tabella
%>
<form name="form" method=post action="prova2.asp">
<input type="hidden" name="opertype" >
<input type="button" name="Modifica" value="Modifica" onClick="javascript:invia('M')">
<input type="button" name="Cancella" value="Cancella" onClick="javascript:invia('C')">
</form>
<% End If%>

</body>
</html>


Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>
38 messaggi dal 24 maggio 2002
lo script funziona, come l'ultimo che ti ho postato... Il form e'esterno alla lista dei record e in questo modo non posso modificare e cancellare un record singolarmente.....

1.818 messaggi dal 21 giugno 2001
Contributi
Finalmente ho capito il tuo problema fino in fondo!

Guarda se ti funziona questo codice (a meno di errori di scrittura da parte mia)
L'errore sta anche nel fatto che richiami sempre la stessa pagina sia per cancellare che per modificare canc-mod.asp. Se questa pagina fa entrambe le cose, allora devi passare anche il parametro che decide quale delle due operazioni effettuare!

Ho modificato la funzione JavaScript. Ora hai anche un valo re Cod che specifica a canc-mod.asp quale operazione effettuare

&lt;!--#include file="conn.asp"--&gt;

&lt;%
Dim Tabella
Dim VediForm

Set rs = Server.CreateObject("ADODB.Recordset")
SQL="select * from rubrica_tesserati order by cognome, nome"
rs.open SQL,Conn,1,3

Tabella=""
VediForm=False

If Not rs.EOF Then
VediForm=True
do while not rs.eof
Tabella=Tabella & "Numero Tessera:&lt;strong&gt;" & rs("num_tessera") & "&lt;/strong&gt;&lt;br&gt;"
Tabella=Tabella & "Nome:"&lt;strong&gt;" & rs("nome") & "&lt;/strong&gt;&lt;br&gt;"
Tabella=Tabella & "Cognome:&lt;strong&gt;" & rs("cognome") & "&lt;/strong&gt;&lt;br&gt;"
Tabella=Tabella & "Indirizzo:&lt;strong&gt;" & rs("indirizzo") & "&lt;/strong&gt;&lt;br&gt;"
Tabella=Tabella & "&lt;input type=" & Chr(34) & "button" & Chr(34) & " name=" & Chr(34) & "Modifica" & Chr(34) & " value=" & Chr(34) & "Modifica" & Chr(34) & "onClick=" & Chr(34) & "javascript:invia('M'," & rs("ID") & ")" & Chr(34) & "&gt;&lt;input type=" & Chr(34) & "button" & Chr(34) & "name=" & Chr(34) & "Cancella" & Chr(34) & " value=" & Chr(34) & "Cancella" & Chr(34) & " onClick=" & Chr(34) & "javascript:invia('C'," & rs("ID") & ")" & Chr(34) & "&gt;&lt;br&gt;&lt;br&gt;"


rs.MoveNext

Loop
End If

%&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Untitled Document&lt;/title&gt;
&lt;script language="Javascript"&gt;
&lt;!--
function invia(valore,indice){
document.all['opertype'].value=valore;
document.all['form'].action='canc-mod.asp?ID='+indice + '& Cod=' + valore;
document.all['form'].submit();
}
// --&gt;
&lt;/script&gt;
&lt;/head&gt;

&lt;body bgcolor="#FFFFFF" text="#000000"&gt;
&lt;% If VediForm Then%&gt;
&lt;form name="form" method=post &gt;
&lt;input type="hidden" name="opertype" &gt;
&lt;%=Tabella%&gt;
&lt;/form&gt;
&lt;% End If%&gt;

&lt;/body&gt;
&lt;/html&gt;



Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>
38 messaggi dal 24 maggio 2002
Funzionaaaaaaaaaaa!

Sei stato un grande... Ora dovro' guardarmi lo script con attenzione per capire che cosa sbagliavo e ...


Puoi darmi sommariamente una spiegazione per farmi capire cosa succedeva e come hai impostato la soluzione..


Grazie di nuovo

fedegra

1.818 messaggi dal 21 giugno 2001
Contributi
Certamente:
Riguardo al codice JavaScript è ridondante con il campo hidden! Avevo perso di vista che recuperavi il tipo di operazione dal campo. Puoi scegliere quale delle due tecniche usare: passare via Get il parametro con JavaScript (e recuperarlo con Request.Querystring) oppure passarlo tramite POST nel form (e recuperarlo con Request.Form)

Considerazioni
1- Il tag form non può essere ripetuto + di 1 volta all'interno di una pagina, quindi la scrittura di &lt;form&gt;&lt;/form&gt;, non può essere inserita in un ciclo

2- Poichè devi specificare di violta in volta quale record modificare o cancellare, l'action della form non può essere specificato nel tag &lt;form&gt;, ma occorre renderlo dinamico e settarlo tramite JavaScript

Funzionamento
- Il ciclo viene effettuato solo se il recordset contiene almeno un record; in questo caso setto anche a True la variabile VediForm che servirà successivamente per visualizzare i dati estratti.

- I pulsanti vengono integrati nel ciclo per crearne una coppia (Cancella e Modifica) per ogni record trovato. Chr(34) corrisponde semplicemente a ", ma poichè lo devo mettere come valore nella variabile devo esplicitarlo con la funzione Chr() altrimenti lo prenderebbe come terminazione stringa (A dire il vero si può ovviare scrivendo "" ma è un metodo che non mi piace). Ad ogni pulsante viene associata la funzione JS invia specificando però il relativo ID.

-La funzione JS invia si occupa di settare il valore del campo hidden, di impostare dinamicamente l'action del form e di inviare i dati.


Suggerimenti
- prova ad utilizzare una tabella per visualizzare i dati
- al posto dei bottoni potresti utilizzare due immaginette tramite il tag &lt;img&gt; specificando sempre sull'evento onClick la medesima funzione.

Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.