我有以下表单和这个脚本连接类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来接收值并添加到数据库
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 :(得分:1)
您通过$ _POST发送数据,尝试从$ _POST而不是$ _REQUEST访问值。通常$ _REQUEST会有$ _POST中的数据,但由于您在运行时获取信息,因此PHP可能不会更新$ _REQUEST变量。
以下是great post关于variables_order
以及$ _REQUEST超过$ _GET,$ _POST和$ _COOKIE的最佳用途。
答案 1 :(得分:0)
而不是使用:
$(function() {
$(".button").click(function() {,
使用它:
$(function() {
$("#formulario").submit(function(event) {
event.preventDefault();
由于您的按钮是提交类型,因此您必须截取表单的submit
事件才能正常工作。另请注意,您必须阻止发生正常的提交行为,因此您还必须添加第event.preventDefault();
行。
马修是对的,你应该从$_POST
而不是$_REQUEST
获取数据。