php - 为什么我的ajax无法获取输入表单中当前输入的字符串?

标签 php jquery ajax

我有一个简单的表单,然后我将表中的一些数据放置到每个输入表单值属性中。现在我的问题是,每当我在输入表单中输入新内容以更新数据时,它都无法获取当前输入的字符串,我不知道如何解决这个问题,因为我认为它正在获取回显的值在此更新页面上当前输入的字符串的,

这是我的前端

    <fieldset id="personaldetails">
    <legend>Personal Details</legend>
    Resume Title: <input type="text" name="resumetitle" id="resumetitle" value="<?php echo $v['ResumeTitle']; ?>" size="50" maxlength="50" /><br />
    Name: <input type="text" name="cvname" id="cvname" size="30" maxlength="30" value="<?php echo $v['Name']; ?>" /><br />
    DOB: <input type="text" id="datepicker" name="dob" value="<?php $date = new DateTime($v['DOB']); echo $date->format('m/d/Y'); ?>" /><br />
    Gender:  <input type="radio" name="gender" id="gender-male" value="1" <?php if($v['Gender'] == 1){ echo "checked"; } ?>/> <b>Male</b> |
     <input type="radio" name="gender" id="gender-female" value="0" <?php if($v['Gender'] == 0){ echo "checked"; } ?>/> <b>Female</b><br /><br />
    <input type="hidden" name="cvid" id="cvid" value="<?php echo $v['ResumeID']; ?>" />
    <button name="pdetails" id="pdetails">Update</button>
    </fieldset><br /><br />

//这是我的js

$(document).ready(function(){
 var resumetitle = $('#resumetitle').val();
 var cvid = $('input[type="hidden"]').val();
 var name = $('#cvname').val();
 var dob = $('#datepicker').val();
 var gender = $('input[name="gender"]:checked').val();


$('button#pdetails').click(function(){
   $.ajax({
      type: "POST",
      url: "classes/ajax.resumeupdate.php",
      data: "resumeid="+cvid+"&resumetitle="+resumetitle+"&name="+name+"&dob="+dob+"&gender="+gender,
      success: function(){
        //window.location = "resumeview.php?cvid="+cvid;
      },
   });
});


});

//这是我的 php 代码

require 'class.resume.php';

$db = new Resume();

if(isset($_POST['resumetitle']) || isset($_POST['name']) || isset($_POST['dob']) ||
   isset($_POST['gender']) || isset($_POST['cvid'])){
    $result =  $db->updatepdetails($_POST['resumetitle'],$_POST['name'],$_POST['dob'],$_POST['gender'],$_POST['cvid']);
    if($result){
      echo "success!";
    } else {
      echo "failed! ".$db->error;
    }
   }

最佳答案

您仅读取文档中准备好的值,将该代码移至点击事件中:

$(document).ready(function(){
   $('button#pdetails').click(function(){
     var resumetitle = $('#resumetitle').val();
     var cvid = $('input[type="hidden"]').val();
     var name = $('#cvname').val();
     var dob = $('#datepicker').val();
     var gender = $('input[name="gender"]:checked').val();
     $.ajax({
       type: "POST",
       url: "classes/ajax.resumeupdate.php",
       data: "resumeid="+cvid+"&resumetitle="+resumetitle+"&name="+name+"&dob="+dob+"&gender="+gender,
       success: function(){
           //window.location = "resumeview.php?cvid="+cvid;
       },
     });
   });
});

关于php - 为什么我的ajax无法获取输入表单中当前输入的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7399519/

相关文章:

php - psr-0 到 psr-4 更改后无法生成实体

php - Laravel 和存储的 MySQL 过程的结果

php - 我可以在 php 中将 mongodb 查询作为字符串传递吗

jQuery 日期选择器允许特定日期

javascript - JQuery 函数点击 html 页面 1 上的按钮,影响 html 页面 2 的列

javascript - 如何从异步调用返回响应?

php - 延迟页面滚动不起作用,无法找出代码中的问题

php - 在 php 7 中以相似大小的 block 分发分组项目

javascript - 在 jQuery Cycle2 中定位下一张幻灯片

javascript - 在 Restangular post 请求中使用单一和全部链接