Nel postare la richiesta premetto che sono assolutamente un profano di html, php e soprattutto di javascript. Posto in questa sezione ma non sono sicuro che sia esatta, dato che non so se il problema dipende dall'html o dal javascript.

Sto cercando di realizzare un form html in cui uno dei campi può essere selezionato dai valori già presenti in db tramite un select oppure - se voglio un valore non ancora presente - inserito attraverso un secondo form popup (attraverso codice js non scritto da me).
Il problema è che cliccando il tasto per l'inserimento di un nuovo valore ottengo sì il popup voluto, ma contemporaneamente mi parte il submit della pagina principale, cosa che ovviamente non voglio. A che cosa può essere dovuto questo comportamento?
Posto di seguito i due file html e js:

new_mov.php
codice:
<?php
  include "const.php";
  include "db_parameters.php";
  define("PAGE_TITLE" , "Inserimento movimenti");       

  $connection = mysql_connect(DB_SERVER, DB_USER, DB_PWD)
                or die("Errore nella connessione al database: ".mysql_error());
  mysql_select_db(DB_NAME, $connection) 
                or die("Errore nella selezione del db: ".mysql_error());
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <script src="./js/generali.js" type="text/javascript"></script>
    <title>
      Spese <?php echo(SW_VER); ?> - <?php echo(PAGE_TITLE); ?>
    </title>
  </head>
  
  <body>
  
    <div class="form">

      <form method="post" action="write_mov.php">
        <div class="subform">
          <label>Dati movimento</label>

          <span>
            <label>Data del movimento (GG/MM/AAAA):</label> <input type="text" name="data">
          </span>
        </div>
      
        <div class="subform">
          <label>Negozio</label>
          <select name="negozio">
            <option value="x" selected="selected"> --- </option>
            <?php 
              $query = "SELECT * FROM negozi";
              $result = mysql_query($query) 
                        or die('Errore nella lettura della tabella \'negozi\': ' . mysql_error());
              while ($row = mysql_fetch_assoc($result))
              { 
                echo "<option value=\"".$row["nome"]."\">".$row["nome"];
                if($row["citta"] != "")
                  echo " - ".$row["citta"];
                echo "</option>";
              }
            ?>
          </select> 
          <input type="image" name="aggiungi_negozio" src="./img/plus.gif" 
                 alt="Aggiungi negozio" title="Aggiungi negozio" width="20" height="20"
                 onclick = "centerPopUp('./new_neg.php', 'Nuovo negozio', 800, 560, 1);"> 
        </div>     
            
        <input type="submit" value="Conferma">
      </form>
    </div>
  </body>
</html>


generali.js
codice:
  // Apre una nuova finestra di popup centrata nello schermo.  
  function centerPopUp(url, name, width, height, scrollbars)
  // Parametri:
  // - url          :url della pagina da caricare nella nuova finestra;
  // - name         :...;  
  // - width        :larghezza della nuova finestra;
  // - height       :altezza della nuova finestra;
  // - scrollbars   :indica se mostrare le barre di scorrimento. 
  {    
  if(scrollbars == null) scrollbars = "0"
  
  str = "";
  str += "resizable=0,";
  str += "scrollbars=" + scrollbars + ",";
  str += "toolbar=0,";
  str += "location=0,";
  str += "statusbar=0,";
  str += "menubar=0,";
  str += "width=" + width + ",";
  str += "height=" + height + ",";
  
  if (window.screen) 
    {
    var ah = screen.availHeight - 30;
    var aw = screen.availWidth - 10;
  
    var xc = (aw - width) / 2;
    var yc = (ah - height) / 2;
  
    str += ",left=" + xc + ",screenX=" + xc;
    str += ",top=" + yc + ",screenY=" + yc;
    }
    
  window.open(url, name, str);
  }