CODIGO:
Codigo HTML, con smarty donde relleno el combo, y el botón para añadir el nuevo dato al combo
Código:
Funciones javascript<div class="form-field"> <label for="cliente_sector">Sector*</label> <select name="cliente_sector" id="cliente_sector"> {section name=sector loop=$sectores} <option value="{$sectores[sector].sector}">{$sectores[sector].sector}</option> {/section} </select> <p>Sector del cliente</p> <label onclick="javascript:anadir('divAnadir')">Nuevo sector</label> </div> <div id="divAnadir" style="display: none;"> Nuevo sector:<input type="text" id="nuevo_sector" name="nuevo_sector" value=""/> <input onclick="javascript:nuevoSector()" type="button" value="Añadir nuevo sector" /> </div>
Código:
Script en php para actualizar bbdd y respuesta al javascript:function anadir(a){ if(document.getElementById(a).style.display=="none") $("#divAnadir").css("display", "block"); else $("#divAnadir").css("display", "none"); } function nuevoSector(){ var datos = document.getElementById("nuevo_sector").value; $.get("/ajax/altaNuevoSector.php?sector="+datos, datos, function(data){ if(data != 1) { alert('Nuevo sector añadido'); $("#divAnadir").css("display", "none"); $("#cliente_sector").append('<option value=" " selected="selected">'+data+'</option>') return true; }else{ alert('Este sector ya existe, pruebe de nuevo.'); return false; } }); }
Código:
Todo me funciona se añade el dato a la bbdd y aparece el dato en el combo, el problema es que el combo esta en un form, por post recogo los datos y si en cliente_sector dejo el nuevo valor no me lo recoge, la variable $_POST['cliente_sector'] esta vaciada. ¿Como lo soluciono?<?php session_start(); require_once('../includes/config.php'); if($_GET['sector']){ $sql = "INSERT INTO clientes_sectores(sector) VALUES ('".$_GET['sector']."')"; $consulta = $con->ejecutar($sql); if(!is_numeric($consulta)) echo '1'; else echo $_GET['sector']; } ?>
Gracias