2013-07-05 29 views
0

我有以下的形式和這個腳本來連接類operation.php它不會刷新,也不會將數據添加到數據庫中。爲什麼提交表單而不刷新不添加數據庫值?

我不知道爲什麼它不添加到數據庫

形式

<form id="formulario" method="POST"> 
    <textarea id="valor" name="valor"></textarea> 
    <input type="hidden" id="idproyecto" name="idproyecto" value="<?php echo $hist->idproyecto;?>"/> 
    <input type="hidden" id="idsprint" name="idsprint" value="<?php echo $hist->idsprint;?>"/> 
    <input type="hidden" id="idhistoria" name="idhistoria" value="<?php echo $hist->idhistoria;?>"/> 
    <input type="hidden" id="idusuario" name="idusuario" value="<?php echo $user->idusuario;?>"/> 
    <input id="Confirmar" class="button" name="operacion" type="submit" value="Confirmar" /> 
    <span class="advertencia" style="display:none"> Please Enter Valid Data</span> 
    <span class="completado" style="display:none"> Registration Successfully</span> 
</form> 

腳本

$(function() { 
    $(".button").click(function() { 
     var idproyecto = $("#idproyecto").val(); 
     var idsprint = $("#idsprint").val(); 
     var idhistoria = $("#idhistoria").val(); 
     var idusuario = $("#idusuario").val(); 
     var valor = $("#valor").val(); 
     var dataString = 'idproyecto='+ idproyecto + '&idsprint=' + idsprint + '&idhistoria=' + idhistoria + '&idusuario=' + idusuario + '&valor=' + valor; 
     alert(dataString); 
     if(valor=='') 
     { 
      $('.completado').fadeOut(200).hide(); 
      $('.advertencia').fadeOut(200).show(); 
     }else{ 
      $.ajax({ 
      type: "POST", 
      url: "../admin/poker/operacion_poker.php", 
      data: dataString, 
      success: function(){ 
       $('.completado').fadeIn(200).show(); 
       $('.advertencia').fadeOut(200).hide();} 
      }); 
     } 
     return false; 
    }); 
}); 

,我有這個類operation_poker.php接受的價值觀,並添加到數據庫

PHP

include_once('../../clases/poker.php'); 
$operacion=$_REQUEST['operacion']; 
$temporal_poker=new poker(0,$_REQUEST['idproyecto'],$_REQUEST['idsprint'],$_REQUEST['idhistoria'],$_REQUEST['idusuario'],$_REQUEST['valor'],0); 
switch($operacion) 
{ 
    case 'Confirmar': 
     $temporal_poker->inserta_poker(); 
     break; 
} 

回答

0

而不是使用:

$(function() { 
    $(".button").click(function() {, 

使用本:

$(function() { 
    $("#formulario").submit(function(event) { 
     event.preventDefault(); 

由於您的按鈕是一個提交類型,你必須攔截形式的submit事件使其正常工作。另外請注意,您必須防止發生正常的提交行爲,因此您還必須添加行event.preventDefault();

馬修說得對,你應該從$_POST得到你的數據,而不是$_REQUEST

+0

好的。謝謝!! – Samuel

1

您通過$ _ POST發送數據,則嘗試從$ _POST而不是$ _REQUEST訪問值。通常情況下,$ _REQUEST將具有$ _POST中的數據,但由於您在運行時獲取信息,因此PHP可能不會更新$ _REQUEST變量。

這是關於variables_ordergreat post以及在$ _GET,$ _POST和$ _COOKIE之上$ _REQUEST的最佳用途。