Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: conflitto tra due form

  1. #1

    conflitto tra due form

    salve a tutti, come scritto nel titolo del post, ho il problema di conflitto tra form.

    ho modificato un piccolo script (sicuramente molto rudimentale) che mi permette di moltiplicare il prezzo di un articolo per la quantità degli articoli selezionati tramite menu a tendina...


    codice:
    <script type="text/javascript">  function calcolatotale() {  
    var a = document.forms[0].quantita.options[document.forms[0].quantita.selectedIndex].text; var b = document.forms[0].costo.value; 
    var c = a * b; document.forms[0].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[1].quantita.options[document.forms[1].quantita.selectedIndex].text; var b = document.forms[1].costo.value; 
    var c = a * b; document.forms[1].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[2].quantita.options[document.forms[2].quantita.selectedIndex].text; var b = document.forms[2].costo.value; 
    var c = a * b; document.forms[2].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[3].numero.options[document.forms[3].numero.selectedIndex].text; var b = document.forms[3].costo.value; 
    var c = a * b; document.forms[3].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');  
    }  
    function cancella() {  
    document.forms[0].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',','); document.forms[0].numero.selectedIndex=0;  
    }  
    </script>
    e poi richiamo la funzione in tanti form nella pagina.

    codice:
    <form style="float:right; text-align:center; margin-left:-30px;" method="post" action="../../riepilogo-acquisti.php" name="form3" id="form3"> 
    <input type="hidden" name="otto" value="008">
    <input type="hidden" name="descrizione" value="Amativo Salento I.G.T."> 
    
    
     
    [img]../../prezzi/13-50.png[/img] 
    <input name="costo" type="text" value="13.50" readonly="readonly" size="2" maxlength="4" style="display:none;"> quantit&agrave; 
    <select size="1" name="numero" onchange="calcolatotale();"> 
    <option selected="selected" value="1">1</option> 
    <option value="2">2</option>
    <option value="3">3</option> 
    <option value="4">4</option>
    <option value="5">5</option> 
    <option value="6">6</option>
    <option value="7">7</option> 
    <option value="8">8</option>
    <option value="9">9</option> 
    <option value="10">10</option>
    <option value="11">11</option> 
    <option value="12">12</option> 
    </select> 
    Tot. &euro; <input name="IMPORTO" type="text" value="13,50" readonly="readonly" id="IMPORTO" size="4" maxlength="5"> 
    <input type="image" src="../../../images/shopping_bag.png" name="B1" value="invia"> 
    </p> 
    </form>
    Il conflitto lo sto rilevando adesso, ora che ho inserito nella pagina un form per fare delle ricerche interne al sito, (non progettato da me, ma uso quello di freefind)

    Ora, la ricerca funziona, ma le varie moltiplicazioni invece no.... cosa devo o posso modificare per risolvere?

    OPS...
    il form per le ricerche è questo

    codice:
    <form  id="ffresult_sbox0" style="margin:0px; margin-top:4px;" action="http://search.freefind.com/find.html" method="get" accept-charset="utf-8" onsubmit="ffresults.show(0);"> 
    <input type="hidden" name="si" value="46587431"> <input type="hidden" name="pid" value="r"> 
    <input type="hidden" name="n" value="0"> <input type="hidden" name="_charset_" value=""> <input type="hidden" name="bcd" value="&#247;"> <input type="hidden" name="sbv" value="j1"> 
    <input type="text" name="query" size="12">  
    <td style="width:70px;"><input type="image" src="../../../images/search.png" name="cmdcerca" value="Cerca" height="35" width="70"></td> 
    </form>

    grazie a tutti per l'aiuto.... magari se fosse possibile avere un suggerimento per sistemare lo script del calcolatotale

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    non funziona più perché per il calcolo ti riferisci al [numero] dei form presenti nella pagina document.forms[0] = primo form presente nel documento, avendo aggiunto un nuovo form la cronologia cambia, forse dovrai aggiungere uno agli altri form, ma tutto dipende dove è cronologicamente nel documento il form "ricerca"
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3

    grazie andrea

    quindi, prima di fare delle modifiche, credi che sia la posizione e quindi il numero del form in ordine di apparizione, e non il nome e l'id stesso del form a provocare quel conflitto?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Dire di si, poi provare non costa nulla, non confondere apparizione con posizione nel documento potrebbero non coincidere.


    P.S. ID devono essere univoci e i consiglio che anche i nomi siano univoci
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    ciao Andrea, in effetti, grazie al tuo consiglio, la modifica funziona, quindi il form per la ricerca ed i vari form per il calcolo dei prezzi vanno bene...
    solo che....
    ho una tabella con otto righe, ed in ognuna della righe un form che calcola il totale;
    la funzione dello script funziona correttamente solo per il primi sette form, nell'ottavo non va. Credo di avere modificato correttamente lo script così

    codice:
    <script type="text/javascript">  function calcolatotale() {  
    var a = document.forms[1].quantita.options[document.forms[1].quantita.selectedIndex].text; var b = document.forms[1].costo.value; 
    var c = a * b; document.forms[1].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[2].quantita.options[document.forms[2].quantita.selectedIndex].text; var b = document.forms[2].costo.value; 
    var c = a * b; document.forms[2].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[3].quantita.options[document.forms[3].quantita.selectedIndex].text; var b = document.forms[3].costo.value; 
    var c = a * b; document.forms[3].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[4].quantita.options[document.forms[4].quantita.selectedIndex].text; var b = document.forms[4].costo.value; 
    var c = a * b; document.forms[4].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[5].quantita.options[document.forms[5].quantita.selectedIndex].text; var b = document.forms[5].costo.value; 
    var c = a * b; document.forms[5].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[6].quantita.options[document.forms[6].quantita.selectedIndex].text; var b = document.forms[6].costo.value; 
    var c = a * b; document.forms[6].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[7].quantita.options[document.forms[7].quantita.selectedIndex].text; var b = document.forms[7].costo.value; 
    var c = a * b; document.forms[7].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[8].quantita.options[document.forms[8].quantita.selectedIndex].text; var b = document.forms[8].costo.value; 
    var c = a * b; document.forms[8].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    var a = document.forms[9].quantita.options[document.forms[9].quantita.selectedIndex].text; var b = document.forms[9].costo.value; 
    var c = a * b; document.forms[9].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',',');    
    
    }  
    
    /* function cancella() {  
    document.forms[0].IMPORTO.value= parseFloat(c).toFixed(2).replace('.',','); document.forms[0].numero.selectedIndex=0;  } 
    */ 
    </script>
    cosa ne pensi? a parte la lunghezza dello script che credo sia 'sistemabile' con un pò d'aiuto, perche l'ultimo form con la funzione calcolatotale non va?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non saprei non vedendo il markup della pagina, ma perché usi tanti form con tutti i nomi/id uguali?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7

    la solita mia svista, risolto guardando meglio il codice

    grazie Andrea

  8. #8
    Originariamente inviato da cavicchiandrea
    Non saprei non vedendo il markup della pagina, ma perché usi tanti form con tutti i nomi/id uguali?
    scusa Andrea, io metto, proprio per rendere univoci i form dove è assegnata la funzione calcolatotale, name=001 e ID=001
    es.
    codice:
    <form style="float:right; text-align:center; margin-left:-30px;" method="post" action="../../riepilogo-acquisti.php" name="007" id="007"> 
    <input type="hidden" name="sette" value="007"><input type="hidden" name="descrizione" value="La Finestra Salento I.G.T."> 
    
    
     [img]../../prezzi/7-50.png[/img] 
    <input name="costo" type="text" value="7.50" readonly="readonly" size="2" maxlength="4" style="display:none;"> 
    quantit&agrave; <select size="1" name="quantita" onchange="calcolatotale();"> 
    <option selected="selected">1</option> 
    <option>2</option><option>3</option> 
    <option>4</option><option>5</option> 
    <option>6</option><option>7</option> 
    <option>8</option><option>9</option> 
    <option>10</option><option>11</option> 
    <option>12</option>
    </select>
    Tot. &euro; <input name="IMPORTO" type="text" value="7.50" readonly="readonly" id="IMPORTO" size="4" maxlength="5">
     <input type="image" src="../../../images/shopping_bag.png" name="B1" value="invia"> 
    </p> 
    </form>
    e poi altro form

    codice:
    <form style="float:right; text-align:center; margin-left:-30px;" method="post" action="../../riepilogo-acquisti.php" name="008" id="008"> 
    <input type="hidden" name="otto" value="008"><input type="hidden" name="descrizione" value="La Finestra Salento I.G.T."> 
    
    
     [img]../../prezzi/7-50.png[/img] 
    <input name="costo" type="text" value="7.50" readonly="readonly" size="2" maxlength="4" style="display:none;"> 
    quantit&agrave; <select size="1" name="quantita" onchange="calcolatotale();"> 
    <option selected="selected">1</option> 
    <option>2</option><option>3</option> 
    <option>4</option><option>5</option> 
    <option>6</option><option>7</option> 
    <option>8</option><option>9</option> 
    <option>10</option><option>11</option> 
    <option>12</option>
    </select>
    Tot. &euro; <input name="IMPORTO" type="text" value="7.50" readonly="readonly" id="IMPORTO" size="4" maxlength="5">
     <input type="image" src="../../../images/shopping_bag.png" name="B1" value="invia"> 
    </p> 
    </form>
    e così via per tutti e otto i form contenuti nelle otto righe....

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non ci siamo capiti, comunque se funziona prosegui cosi
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Per funzionare, funziona, ma potresti spiegarmi meglio per piacere?
    eco il link alla pagina così puoi vedere tu

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.