首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么提交表单时不刷新,而不添加数据库值?

为什么提交表单时不刷新,而不添加数据库值?
EN

Stack Overflow用户
提问于 2013-07-05 22:24:05
回答 2查看 373关注 0票数 0

我有下面的表单和这个脚本来连接operation.php类,它不刷新,也不将数据添加到数据库中。

我不知道为什么它没有添加到数据库中

表格

代码语言:javascript
复制
<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>

脚本

代码语言:javascript
复制
$(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;
    });
});
代码语言:javascript
复制
And i have this class operation\_poker.php to receive the values and add to database 

PHP

代码语言:javascript
复制
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;
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-05 22:45:37

而不是使用:

代码语言:javascript
复制
$(function() {
    $(".button").click(function() {, 

使用以下命令:

代码语言:javascript
复制
$(function() {
    $("#formulario").submit(function(event) {
      event.preventDefault();

由于您的按钮是submit类型,因此必须拦截表单的submit事件才能正常工作。还要注意,您必须防止正常的提交行为发生,因此您还必须添加行event.preventDefault();

马修是对的,你应该从$_POST而不是$_REQUEST获取数据。

票数 0
EN

Stack Overflow用户

发布于 2013-07-05 22:37:16

您正在通过$_POST发送数据,请尝试从$_POST而不是$_REQUEST访问这些值。通常,$_REQUEST会将数据存储在$_POST中,但由于是在运行时获取信息,因此可能不会更新$_REQUEST变量。

这是一个关于variables_ordergreat post,以及$_REQUEST在$_GET,$_POST和$_COOKIE上的最佳用法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17491149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档