Newsgroup: it.comp.lang.javascript
Titolo: AIUTO

questo è il listato che mi crea problemi!!
<%@ Language=VBScript %>
<%
Response.Expires = 15
Response.Buffer = True
'EFFETTUA IL LOGIN
if request.Form("id")<>"" then
 Session("id") = request.Form("id")
end if
if Session("id")="" then
%>
<H2>Login</H2>
<form action="prova2focus.asp" method="post">
Scegli uno username: <input type="text" name="id">
<br>
<input type="submit" value="Login">
</form>
<%
else
 if request.form("azione")="msg" and len(request.form("chat"))>0 then
  'AGGIUNGI MESSAGGIO
  arrmsg = Application("msg")
  arrmsg = arrmsg & "#§#" & Now() &_
    "|#|" & Session("ID") & "|#|" &_
    Request.Form("chat")
  Application.Lock
  Application("msg") = arrmsg
  Application.UnLock
  Response.Redirect("prova2focus.asp#fondo")
 end if
 ' recupero messaggi
 Response.write "<HTML><HEAD>"
 Response.write "<meta http-equiv=""pragma"" content=""no-cache""><META
http-equiv=""REFRESH"" content=""15; url=#fondo"">"
 Response.write "</HEAD>"
 arrMsg = Application("msg")
 if len(arrMsg) >0 then
  response.write "<B>I messaggi</B><BR><BR>"
  arrMsg = Split(arrMsg, "#§#")
  for j = 1 to ubound(arrMsg)
   msg = Split(arrMsg(j), "|#|")
   Response.write "<li><font color=gray>"
   Response.write msg(0)
   Response.write "</font> ["
   Response.write msg(1) & "] - "
   Response.write msg(2)
  next
  Response.write "<a name=fondo></a>"
 end if
%>
<hr><form name=pinco method=post action="prova2focus.asp#fondo">
<b>nuovo messaggio</b>:<br>
testo:<br>"
<input type="hidden" value="msg" name="azione">
<input type="text" size="60" name="chat" >
<input type="submit" value="Invia" onclick=k()>
<script language="javascript">
function k(){
document.pinco.chat.focus();
}
</script>
</form><%
end if
%>
non riesco a far si che ogni volta che uno spedisce un messaggio il focus
ritorni sul campo testo!!
perche'?
ringrazio anticipatamente!!

 ritorni sul campo testo!!
La funzione che riporta il focus sul campo testo scatta sul submit;
dopo di questo la pagina viene caricata nuovamente e di conseguenza quel
comando non ha piu' nessun valore.
Per dare il focus ogni qualvolta la pagina viene caricata puoi mettere
quel comando nell'evento load del body:
<body onLoad="document.pinco.chat.focus();">
Nel codice mancano, inoltre, alcuni marcatori  che creano qualche
problema con NS; di seguito una rivisitazione:
-------------
<%@ Language=VBScript %>
<%
Response.Expires = 15
Response.Buffer = True
%>
<HTML><HEAD>
<meta http-equiv="pragma" content="no-cache">
<%
'EFFETTUA IL LOGIN
if request.Form("id")<>"" then
 Session("id") = request.Form("id")
end if
if Session("id")="" then
 %>
 </HEAD><body>
 <H2>Login</H2>
 <form action="prova02.asp" method="post">
 Scegli uno username: <input type="text" name="id">
 <br>
 <input type="submit" value="Login">
 </form>
 <%
else
 if request.form("azione")="msg" and len(request.form("chat"))>0 then
  'AGGIUNGI MESSAGGIO
  arrmsg = Application("msg")
  arrmsg = arrmsg & "#§#" & Now() &_
   "|#|" & Session("ID") & "|#|" &_
   Request.Form("chat")
  Application.Lock
  Application("msg") = arrmsg
  Application.UnLock
  Response.Redirect("prova02.asp")
 end if
 ' recupero messaggi
 Response.write "<META http-equiv=""REFRESH"" content=""15;
url=#fondo"">"
 Response.write "</HEAD><body onLoad=""document.pinco.chat.focus();"">"
& vbCr
 arrMsg = Application("msg")
 if len(arrMsg) >0 then
  response.write "<B>I messaggi</B><BR><BR>" & vbCr
  arrMsg = Split(arrMsg, "#§#")
  for j = 1 to ubound(arrMsg)
   msg = Split(arrMsg(j), "|#|")
   Response.write "<li><font color=gray>"
   Response.write msg(0)
   Response.write "</font> ["
   Response.write msg(1) & "] - "
   Response.write msg(2) & vbCr
  next
  Response.write "<a name=fondo></a>"
 end if
%>
 <hr><form name=pinco method=post action="prova02.asp#fondo">
 <b>nuovo messaggio</b>:<br>testo:<br>"
  <input type="hidden" value="msg" name="azione">
  <input type="text" size="60" name="chat" >
  <input type="submit" value="Invia">
 </form>
<%end if%>
</body>
</html>
------------
Saluti, Paolo