Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312

    concatenazione di variabili

    ciao a tutti,


    non riesco a concatenare esattamente la variabile indice
    alla stringa : "document.conferma.qta" + indice + ".value


    com'è la sintassi esatta???


    var indice;
    indice = 1;
    var qta


    while (record >= indice) {

    qta = document.conferma.qta" + indice + ".value
    alert (qta)

    indice = indice +1

    }

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao carmi,

    questa roba qua
    codice:
    qta = document.conferma.qta" + indice + ".value
    è completamente sbagliata... e anche se fosse
    codice:
    qta = "document.conferma.qta" + indice + ".value"
    qta sarebbe una stringa ("document.conferma.qta1.value")

    se vuoi il valore dell'oggetto puoi fare così
    codice:
    qta = document.conferma.elements["qta" + indice].value

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    grazie willy, sei sempre di grande aiuto.



    dopodiche dovrei controllare se il valore di ognuna è un numero intero e indirizzare la pagina ad una submit diversa da quella nella form(cioè "elimina.asp")


    come faccio???




    while (record >= indice) {

    qta = document.conferma.elements["qta" + indice].value

    if (isNan(qta)){

    alert("valori non validi nel campo quantità");

    }

    indice = indice +1

    }

    window.location.href="aggiorna_carrello.asp"






    <form action="elimina.asp" method="post" name="conferma">
    ....
    ....
    ....
    ....
    ....

    </form>

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Allora...

    isNan non esiste... è isNaN
    però per controllare che sia un intero (e maggiore di zero) è meglio usare una RE
    codice:
    RE = /^[1-9]\d*$/
    if(!RE.test(qta)){
      alert("valori non validi nel campo quantità"); 
    }
    per cambiare l'action del form
    codice:
    document.NomeForm.action='aggiorna_carrello.asp'

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    cosi' mi dà dei problemi:


    non si interrompe se i valori sono errati e non passa alla pagina "aggiorna_carrello.asp"


    var indice;
    indice = 1;
    var qta;
    RE = /^[1-9]\d*$/

    while (record >= indice) {

    qta = document.conferma.elements["qta" + indice].value


    if(!RE.test(qta)){

    alert("valori non validi nel campo quantità");
    return (false);
    }
    indice = indice +1
    }

    document.conferma.action='aggiorna_carrello.asp'


    }

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    lo script deve essere in una funzione e ritornare true alla fine (se qualcosa va male ritorna false) e la funzione deve essere richiamata così
    codice:
    <form onsubmit="return NomeFunzione()"

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    scusami se insisto , io ho fatto cosi':



    il fatto che abbia un input type "image" può creare problemi???




    <script language = "javascript">

    function controllo_qta(record) {


    var indice;
    var record;
    indice = 1;
    var qta;
    RE = /^[1-9]\d*$/

    while (record >= indice) {

    qta = document.conferma.elements["qta" + indice].value


    if(!RE.test(qta)){

    alert("valori non validi nel campo quantità");
    return (false);
    }
    indice = indice +1
    }

    document.conferma.action='aggiorna_carrello.asp'

    return true;
    }

    </script>






    <form action="elimina_carrello.asp" method="post" name="conferma">




    ......
    ......
    ......
    ......
    <input type="image" src="../images/eliminaprodotto.gif">
    <input type="image" src="../images/aggiorna.gif" onclick="return controllo_qta(<%=record%>)";>

  8. #8
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    a me così funziona... (toglierei var record; all'interno della funzione)

    ma ti viene fuori l'alert e non si blocca il submit? :master:

  9. #9
    Utente bannato
    Registrato dal
    Apr 2003
    Messaggi
    1,119
    dopo l'alert della RE metti
    history.go();

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    312
    il problema è che mi rimanda sempre alla action del form e non a quella che gli imposto io:

    qui
    <form action="elimina_carrello.asp" method="post" name="conferma">


    e non qui:

    document.conferma.action='aggiorna_carrello.asp'

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.