Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用javaScript向组合添加数据,然后使用POST选择?_Php_Javascript_Smarty - Fatal编程技术网

Php 如何使用javaScript向组合添加数据,然后使用POST选择?

Php 如何使用javaScript向组合添加数据,然后使用POST选择?,php,javascript,smarty,Php,Javascript,Smarty,我公开了我的案例,我挑选mysql数据并用php和smarty填充一个组合,然后我有一个按钮向这个组合和bbdd添加更多数据。一切都正常,但我在收集添加到组合中的数据的POST数据时没有将其拾取 代码: 使用smarty填充组合的HTML代码,以及向组合添加新数据的按钮 <form action="algo.php" method="post"> <div class="form-field"> <label for="cliente_sector">Sect

我公开了我的案例,我挑选mysql数据并用php和smarty填充一个组合,然后我有一个按钮向这个组合和bbdd添加更多数据。一切都正常,但我在收集添加到组合中的数据的POST数据时没有将其拾取

代码:

使用smarty填充组合的HTML代码,以及向组合添加新数据的按钮

<form action="algo.php" method="post">
<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>
</form>

扇区*
{节名=扇区循环=$sectores}
{$sectores[sector].sector}
{/section}
客户区

新界 新界区:
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;
    }  
});
}
函数anadir(a){
if(document.getElementById(a.style.display==“无”)
$(“#divAnadir”).css(“显示”、“块”);
其他的
$(“#divAnadir”).css(“显示”、“无”);
}
函数新扇区(){
var datos=document.getElementById(“新扇区”).value;
$.get(“/ajax/altaNuevoSector.php?sector=“+datos,datos,function(data){
如果(数据!=1){
警报(“新界añaddo”);
$(“#divAnadir”).css(“显示”、“无”);
$(“#客户部门”)。追加(“”+数据+“”)
返回true;
}否则{
警报('Este sector ya existe,pruebe de nuevo');
返回false;
}  
});
}
更新bbdd和响应javascript的Php脚本:

<?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'];
}

?>

所有工作正常数据被添加到bbdd并显示在组合中,问题是组合是一种形式,通过post我尝试拾取数据,如果value cliente_sector是新的,不让我拾取,则$_post['cliente_sector']被清空。我怎么修理它? 如果在组合中选择了新值,则在我的表单中提交$u POST['clients\u sector']


谢谢

最后我用js函数刷新了页面。谢谢大家。

我在您的代码中没有看到任何POST查询。您能解释一下吗?我还没有写。我写道,这个组合在一个表单中,表单代码在algo.php中,$\u POST['cliente\u sector']是空的。谢谢你很容易受到攻击,我知道,但这不是问题,因为这是给管理员的。