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); }

Rispondi quotando
