41 messaggi dal 01 ottobre 2001
Ho trovato uno script per sondaggi e l'ho modificato e funziona
riesco a sondare e avere il sondaggio con gli incrementi delle variabili.
all'avvio della pagina ho quattro pulsanti radio non checkati, se clicco sul pulsante VOTA senza aver ceccato un pulsante di opzione, la seconda pagina mi scrive con un response.write "Non hai scelto chi votare" quindi un <ahref= chi mi linka alla prima pagina per provare di nuovo

ORA io vorrei fare tutto sulla prima pagina senza spedire la query alla seconda, ovvero controllare se ho scelto un pulsante prima di spedire la query sulla stessa pagina, per questo ho inserito uno script per controllare se è ceccato un pulsante di opzione, ma naturalmente.............non ci sono riuscito

TI HO SCRITTO CON COMMENTO LE VARIABILI CHE MI PROVOCANO L'ERRORE poll è nullo o non è un oggetto

leggo il db con un loop:
codice ------------------------------------

<!--#include file="connect.asp"-->
<html>
<head>


<script language="Javascript">
function Validate ( obj ) {

//QUI COME DEVO FARE?

if ( (obj.poll.value=!= "")) {
alert ('non hai scelto chi votare!');
return false;
}
return true;
}
</script>


<style>
#spec{color:blue}
#menu{color:white}
a{color:silver}
a:hover{text-decoration:none;color:black;background-color:white}
</style>
<title>myscript</title>
</head>
<body>

<form action="poll.asp?action=vote" method="post" name="theform" onsubmit="return Validate(this);">


<%

Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")

Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")
t=3
Conn.Open dsn

SQL = "SELECT * from que order by id desc"
rs.open sql,conn
do while not rs.eof

queID = rs("ID")
sql1 = "select * from ans where queID="&queID
sql2 = "SELECT SUM(total) FROM ans where queID="&queID

response.write "<b>" & rs("que") & "</b><br>"
response.write "</font>"

set rs1 = conn.execute(sql1)
set us = conn.execute(sql2 )

final_total=us(0).value

set us=nothing
response.write ("<table border=1 cellpadding=2 cellspacing=0 align=top>")


set rs1=conn.execute(sql1)
do while not rs1.eof
ansTotal = rs1("total")
if ansTotal=0 then
ansPercent="0%"
else
ansPercent=formatpercent(ansTotal/final_total)
end if

ansImage = replace(ansPercent,"%","")
ansImage = ansImage*2

response.write "<tr>"
response.write "<td>"
Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")

//QUI C'E' la variabile poll che non sò come passarla allo script di controllo

response.write "<input type=radio height=1 name=poll"&queID & " value='"&rs1("id")&"'>"&rs1("ansdesc")
Response.Write "</font>"

response.write "</td>"
response.write "<td height=2>"
Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")

response.write "<img src=images/char"&t&".gif width="&ansImage&" height=10>" & ansPercent
Response.Write "</font>"

response.write "</td>"
response.write "</tr>"


rs1.movenext
loop
rs.movenext
loop
Response.Write "</font>"


response.write "</table>"


%>
<input type=submit name="submit" value="vota">
<input type=button name="res" value="Risultati" onclick="location.href='poll.asp?action=view'"><br><br>
</font>
</form>
</body>
</html>

fine ---------------------------------------------


1.605 messaggi dal 06 settembre 2002
potresti fare così

<!--#include file="connect.asp"-->
<html>
<head>


<script language="Javascript">
function Validate ( obj ) {

//QUI COME DEVO FARE?

if ( (obj.poll.value=!= "")) {
alert ('non hai scelto chi votare!');
return false;
}
return true;
}
</script>


<style>
#spec{color:blue}
#menu{color:white}
a{color:silver}
a:hover{text-decoration:none;color:black;background-color:white}
</style>
<title>myscript</title>
</head>
<body>

<form action="poll.asp?action=vote" method="post" name="theform" onsubmit="return Validate(this);">


<%

dim blnPrimoRadio
blnPrimoRadio = true
Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")

Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")
t=3
Conn.Open dsn

SQL = "SELECT * from que order by id desc"
rs.open sql,conn
do while not rs.eof
blnPrimoRadio = true

queID = rs("ID")
sql1 = "select * from ans where queID="&queID
sql2 = "SELECT SUM(total) FROM ans where queID="&queID

response.write "<b>" & rs("que") & "</b><br>"
response.write "</font>"

set rs1 = conn.execute(sql1)
set us = conn.execute(sql2 )

final_total=us(0).value

set us=nothing
response.write ("<table border=1 cellpadding=2 cellspacing=0 align=top>")


set rs1=conn.execute(sql1)
do while not rs1.eof
ansTotal = rs1("total")
if ansTotal=0 then
ansPercent="0%"
else
ansPercent=formatpercent(ansTotal/final_total)
end if

ansImage = replace(ansPercent,"%","")
ansImage = ansImage*2

response.write "<tr>"
response.write "<td>"
Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")

//QUI C'E' la variabile poll che non sò come passarla allo script di controllo

response.write "<input type=radio "
if blnPrimoRadio = true then
Response.Write " checked "
blnPrimoRadio = false
end if
Response.Write "height=1 name=poll"&queID & " value='"&rs1("id")&"'>"&rs1("ansdesc")
Response.Write "</font>"

response.write "</td>"
response.write "<td height=2>"
Response.Write ("<font face=arial, sans-serif size=2 COLOR=black>")

response.write "<img src=images/char"&t&".gif width="&ansImage&" height=10>" & ansPercent
Response.Write "</font>"

response.write "</td>"
response.write "</tr>"


rs1.movenext
loop
rs.movenext
loop
Response.Write "</font>"


response.write "</table>"


%>
<input type=submit name="submit" value="vota">
<input type=button name="res" value="Risultati" onclick="location.href='poll.asp?action=view'"><br><br>
</font>
</form>
</body>
</html>


in questo modo il primo pulsante radio di ogni domanda sarà ceccato di default e non sàrà possibile trovarsi nella situazione in qui per una domanda non si è selezionato nessun radio (una volta selezionato uno non si può deselezionarlo se non se ne seleziona un'altro)

FORZA LA MAGICA ROMA

FORZA LA MAGICA ROMA

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.