Salve a tutti
(Percorso: root/user/account.php )
----------Il codice che ho scritto è:
////// loop che mi crea 5 form
<?php for ($ref=$VALORECRITICO; $ref <= 5; $ref++) {?>
<?php
////// variabili del loop che diventano i nomi dei form
$boxsing = "box".$ref."sing";
$boxmult = "box".$ref."mult"; ?>
<form name="<?php echo $boxsing;?>" method="POST">
<input type="hidden" value="<?php echo $ref;?>" name="numproduct">
Valore singolo:
<input type="text" name="offer">
/////// div che mi permette di creare un bottone con effetto onmouseover
<div class="offrisoff" onMouseOver="this.className='offrison'" onMouseout="this.className='offrisoff'"
onClick="validateFormOfferOnSubmit(<?php echo $boxsing;?>)">Bottone di invio</div></form>
</div>
<?php } ?>
(Percorso: root/funzioni/controlloformoffer.php )
---------mentre la funzione javascript è:
function validateFormOfferOnSubmit(theForm) {
var reason = "";
reason += validateoffer(theForm.offer);
if (reason != "") {
alert("Alcuni campi non sono stati compilati correttamente:\n" + reason);
return false;
}
else {
alert("3");
if (theForm==box1sing) {document.box1sing.action = "../user/offers.php"; document.box1sing.submit();}
else if (theForm==box2sing) {document.box2sing.action = "../user/offers.php"; document.box2sing.submit();}
else if (theForm==box3sing) {document.box3sing.action = "../user/offers.php"; document.box3sing.submit();}
else if (theForm==box4sing) {document.box4sing.action = "../user/offers.php"; document.box4sing.submit();}
else if (theForm==box5sing) {document.box5sing.action = "../user/offers.php"; document.box5sing.submit();}
}}
function validateoffer(fld) {
var error = "";
var tfld = trim(fld.value);
var illegalChars = /[^0-9]/ ;
if (fld.value == "") {
fld.style.background = 'Yellow';
error = "Campo vuoto.\n";
} else if (fld.value.match(illegalChars)) {
fld.style.background = 'Yellow';
error = "Il valore immesso non è consentito.\n";
} else {
fld.style.background = '#EEFFFF';
}
return error;
}
</script>
Il mio grosso problema è che se $VALORECRITICO = 1 tutto funziona perfettamente,
ma se lo metto uguale a 2 o più
il codice non funziona più (funziona fino all'alert 3 ma poi non invia il modulo!!!)
Forse c'è un problema di collegamento tra js e php che non vedo, ma sono tre giorni che ci impazzisco!!!
Qualcuno saprebbe dirmi perchè non funziona?
Grazie mille
(P.S. c'è un modo per evitare l'if-else mettendo una variabile nelle espressioni:
document.VARIABILE.action = "../user/offers.php";
document.VARIABILE.submit();
Si può fare? e se sì come?)