为什么不刷新就提交表单而不添加数据库值
Why submit form without refreshing not add database values?
我有下面的表单和这个脚本来连接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;
}
如果要通过$_POST发送数据,请尝试从$_POST而不是$_REQUEST访问值。通常$_REQUEST会在$_POST中包含数据,但由于您在运行时获取信息,PHP可能不会更新$_REQUEST变量。
这里有一篇关于variables_order
的好文章,以及$_REQUEST在$_GET、$_post和$_COOKIE上的最佳用途。
而不是使用:
$(function() {
$(".button").click(function() {,
使用这个:
$(function() {
$("#formulario").submit(function(event) {
event.preventDefault();
由于您的按钮是一个提交类型,您必须拦截表单的submit
事件才能正常工作。还要注意,您必须防止发生正常的提交行为,因此还必须添加行event.preventDefault();
。
Matthew是对的,你应该从$_POST
而不是$_REQUEST
获得数据。
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 使用javascript从数据库中添加表
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 如何使用PHP将javascript变量添加到mysql数据库中
- 当我在重新启动cordova应用程序后尝试添加更多数据时,lokijs会丢失数据库和收集中的数据
- 在javascript中跳过周六和周日,并向mysql数据库中添加不重复的条目
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 将数据库中的超链接添加到查询结果
- 将行从数据库添加到表视图
- indexedDB创建数据库并添加内容执行失败'交易'在'IDBDatabase'
- 使用Ajax和JQuery从SQL数据库中添加和删除一行
- 如何将任意数量的图像动态添加到源字符串位于数据库中的 Web 窗体
- 单击按钮将值添加到数据库
- 预先构建的GUI,用于上传.csv并将数据添加到mysql数据库
- 如何将动态添加的文本框插入MySQL数据库
- 如何将数据库系统添加到WebGL应用程序中
- 无法使用asp.net mvc将数据添加到数据库中
- 为什么不刷新就提交表单而不添加数据库值
- 当使用 JavaScript 动态添加数据库时,如何使用 PHP 向数据库添加信息
- 在 for 循环中添加数据库检索到的数据