Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2013, 03:09
monchyrcg
 
Fecha de Ingreso: octubre-2009
Mensajes: 10
Antigüedad: 15 años, 3 meses
Puntos: 0
Como añado datos a un combo con javaSrcipt y lo recogo con POST

Expongo mi ejemplo, a través de mysql recogo datos y relleno un combo con php y smary, luego tengo un botón para añadir más datos a este combo y a la bbdd. Todo me funciona correctamente pero a la hora de recoger los datos por POST ese dato añadido al combo no me lo recoge

CODIGO:

Codigo HTML, con smarty donde relleno el combo, y el botón para añadir el nuevo dato al combo
Código:
<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>
Funciones javascript
Código:
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;
        }  
    });
}
Script en php para actualizar bbdd y respuesta al javascript:
Código:
<?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'];
    }
    
?>
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?

Gracias