Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    far convivere due script

    CIAO,
    ho un problema con javascript che non so come risolvere.

    Ho un form di ricerca con alcuni campi di cui il campo PROVINCIA è obbligatorio per la ricerca.
    Per effettuare la ricerca ci sono due pulsanti:
    - il primo "CERCA" esegue la ricerca e mostra pag1.php
    - il secondo "STAMPA" esegue la stessa ricerca e mostra pag2.php

    Il problema è questo: cambiando il form (prima il bottone era uno solo ed era di tipo submit ed apriva solo pag1.php) ed inserendo questi due bottoni per fare la ricerca la funziona di controllo sulla provincia non funziona più!!!

    Riepilogando la prima è la funzione di controllo sulla provincia:
    codice:
    <SCRIPT type="text/javascript" language="JavaScript">
    function form_validator(theForm) 
    { 
    	if(theForm.provincia.value == "") { 
    	alert("Selezionare la provincia"); 
    	theForm.provincia.focus(); 
    	return(false); 
    	} 
    			
    return (true); 
    } 
    // fine script --></SCRIPT>
    Funzione per i due bottoni cerca
    codice:
    <script language="javascript" type="text/javascript">
    <!--
    function Invia(valore)
    {
    			
    if(valore == 'CERCA')
    lnk = "http://www.pippo.it/pag1.php";
    else
    lnk = "http://www.pippo.it/pag2.php";
    			
    document.getElementById('test').action = lnk;	
    document.getElementById('test').submit();
    }
    -->
    </script>
    Questo è il form

    codice:
    <form name="theForm" onSubmit="return form_validator(this)" method="post" action="" target="nuova" id="test">
    <select  name="provincia">
      <option value="" selected>Seleziona Provincia</option>
    </select> 
    
    ..
    <input type="button" name="pag1" value="CERCA" onclick="Invia(this.value);">
    <input type="button" name="pag2" value="STAMPA" onclick="Invia(this.value);">
    mi sapreste consigliare un modo per fare in modo che entrambi gli script funzionino??

    Grazie mille!!

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    credo sia solo un problema di scope
    codice:
    function Invia(valore) {
      var lnk;
      if (valore == 'CERCA')
        lnk = "http://www.pippo.it/pag1.php";
      else
        lnk = "http://www.pippo.it/pag2.php";
      document.getElementById('test').action = lnk;	
      document.getElementById('test').submit();
    }

  3. #3
    codice:
    function Invia(valore) {
      var lnk;
      if (valore == 'CERCA')
        lnk = "http://www.pippo.it/pag1.php";
      else
        lnk = "http://www.pippo.it/pag2.php";
      document.getElementById('test').action = lnk;	
      document.getElementById('test').submit();
    }
    Mi chiedo ... ma l'id test dove sta?
    Se non metti un id alla form, è dura che tu gli possa cambiare al volo la action!

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  4. #4
    non credo sia quello il problema visto che provano lo script non funziona lo stesso il controllo sulla provincia .....

    quando facevo il controllo sulla provincia il bottone era di tipo submit
    <form name="theForm" onSubmit="return form_validator(this)" method="post" action="" target="nuova" id="test">
    e l'azione onSubmit aveva l'effetto desiderato richimando la funziono che faceva il controllo sulla provivincia attraverso la funzione form-validator

    Ora i bottoni sono di tipo button quindi onSubmit non funziona più...

    il problema e che non so cosa modificare....

  5. #5
    Originariamente inviato da homezappa
    codice:
    function Invia(valore) {
      var lnk;
      if (valore == 'CERCA')
        lnk = "http://www.pippo.it/pag1.php";
      else
        lnk = "http://www.pippo.it/pag2.php";
      document.getElementById('test').action = lnk;	
      document.getElementById('test').submit();
    }
    Mi chiedo ... ma l'id test dove sta?
    Se non metti un id alla form, è dura che tu gli possa cambiare al volo la action!

    HTH
    Zappa

    id=test sta nel form vedi qua:
    <form name="theForm" onSubmit="return form_validator(this)"
    method="post" action="" target="nuova" id="test">

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    prova a mettere due bottoni submit e a togliere il submit() dalla funzione
    <input type="submit" name="pag1" value="CERCA" onclick="Invia(this.value);">
    <input type="submit" name="pag2" value="STAMPA" onclick="Invia(this.value);">
    oppure questo
    <input type="button" name="pag1" value="CERCA" onclick="Invia(this.value);this.form.submit()">
    <input type="button" name="pag2" value="STAMPA" onclick="Invia(this.value);this.form.submit()">

  7. #7
    con la prima soluzione funziona!!!

    GRAZIE!!!

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.