Newsgroup: it.comp.lang.javascript
Titolo: function js non blocca il codice php

Dunque, sono abbastanza niubbie di js e ancora di più di pho quindi mi
rivolgo a voi nella speranza di trovare la soluzione al mio problema.
Ho un form con dei campi tipo
<input type="text" name="author"...>
il form è aperto con
<form name="box" action="<?php echo"$PHP_SELF";?>" method=POST
onSubmit="return cek()">
Ho introdotto la parte
onSubmit="return cek()"
per controllare il conenuto dei campi con la funzione cek().
Il controllo è ok e la funzione è del tipo:
if(document.box.author.value == "pippo"){
alert("Password Errata!");
document.form1.nome.focus();
return false;
}
return true;
}
Il problema sta nel fatto che il cek funziona ma sia in caso di esito
positivo che esito negativo lo script php prosegue e visualizza i dati dei
campi (cosa che vorrei non facesse in caso di test fallito)
Insomma vorrei che in caso di test fallito riazzerasse i campi senza andare
avanti.
Come posso fare? (A parte continuare a sfogliare pagine e pagine di vecchi
post)

 campi (cosa che vorrei non facesse in caso di test fallito)
Cosa vuol dire "lo script php prosegue"?
Che la form viene processata e passata al server anche se onsubmit
restituisce false? Se sě occorre sapere come scateni la form.
p.s. non č che stai facendo confusione tra lato client e lato server?
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 p.s. non č che stai facendo confusione tra lato client e lato server?
Potrebbe essere!
Grazie comunque per la tua veloce risposta.

 Scusa, ma proprio non capisco cosa intendi. Sicuramente sono troppo niubbio
Per inviare la form come fai? Hai un input submit o un altro tag che
scatena il submit()?
Posta la parte della form interessata.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 Posta la parte della form interessata.
<form name="box" action="<?php echo"$PHP_SELF";?>" method=POST
onSubmit="return cek()">
    <input type="hidden" name="liner" value="true">
    <input type="hidden" name="date" value="<?php echo date("$sgdate"); ?>">
    <input type="hidden" name="postct" value="<?php echo date("$postct");
?>">
.
.[cut - formattazioni colori e fonts]
.
    <input type="hidden" name="maxrow" value="<?php echo "$rows"; ?>">
.
.[cut - formattazioni colori e fonts]
.
      <input type="text" name="author">
      <input type="submit" value="<?=$sgpstmsg?>">
    </form>

In data Thu, 30 Sep 2004 09:33:16 +0200, BaldonZ ha scritto:
C'è qualcos'altro che non va, io non vedo errori in questa parte di codice.
Vedi
http://www.criosoftware.it/StopSubmit.htm


 
http://www.criosoftware.it/StopSubmit.htm
Ok Grazie
ciao

Scusa se ti assilo ma ho individuato il problema.
Riprendo da qui
<form name="box" action="<?php echo"$PHP_SELF";?>" method=POST
onSubmit="return cek()">
<input type="hidden" name="liner" value="true">
Dunque, la funzione cek() va benissimo.
Solo che non blocca il processo perchè il processo stesso è legato ad un
controllo del valore value="true" di questa riga -- <input type="hidden"
name="liner" value="true">
Cioè ho un pezzo di codice php che dice: if $liner="true" allora... vai
avanti.
In conclusione dovrei fare in modo che il valore di "liner" sia legato sia
legato all'esito della funzione cek().
Sto provando in diversi modi ma fin'ora senza successo.
Qualche suggerimento?

 avanti.
Stai facendo confusione....
sei lato client, cosa c'entra if $liner="true" ? Questo avviene lato server
e se blocchi l'onsubmit non ci passi dal server...devi dimenticarti php
quando sei sul client.
Nella tua onsubmit puoi settare
document.forms[0].elements['liner'].value="true/false"; per cambiare il
valore (ma, da quel che ho capito, non dovrebbe servire a molto)
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.