javascript - jquery ajax input[name=somename] val(data) - 如何识别多个变量

标签 javascript php jquery ajax variables

在这个网站的帮助下,到目前为止,我已经弄清楚如何通过 ajax 获取输入字段的值。现在我需要获取特定值来分隔输入字段(用户表单)。概述;用户正在从 jquery 结果中选择数据以传播到表单,因此用户不必手动输入该数据。

这是我的脚本代码:

  <script>
  var book_title;
  var author;
  var published;
  var description;
  var pages;
  var Publisher;
  var ISBN;
  $(function() { 
  $( "#dialog" ).dialog({
    height: 550, width: 450});
    $( ".btn" ).click(function(){ 
   //var book_title = $item['volumeInfo']['title'];
   $.ajax({
     type: "POST",
     url: 'book-meta.php',
     //dataType: 'json',
     //data: { book_title : $("#returnvalues").val()  },
     data: { book_title : '$title', author: "Author"},
     success: function(data)
         {
         //alert(data);
         //console.log(data);
         $("input[name='bbp_extra_field1']").val(data);
         $("input[name='bbp_extra_field2']").val(data);
         //$("#displayResults").html(data);
         },
         error: function(errorThrown){
         alert('error');
         }
         });
  $( "#dialog" ).dialog( "close" );  
  });
  });
  </script>

这是 book-meta.php 代码:

     if ( isset( $_POST['book_title'] )) {
//      echo $_SESSION['book_title'];
//        $book_title = $_REQUEST['book_title'];
        $book_title = $_POST['book_title'];
        echo $book_title;

      }
     if ( isset( $_POST['author'] )) {
        $author = $_POST['author'];
        echo $author;

      }

这是数据输入的代码。到目前为止,我可以将数据发送到 $value 部分,但发送到两个输入字段的数据是相同的。简而言之,我正在尝试将 book_title 获取到 bbp_extra_field1,并尝试将作者获取到 bbp_extra_field2。

add_action ( 'bbp_theme_before_topic_form_content', 'bbp_extra_fields');
function bbp_extra_fields() {
//  include 'book-meta.php';

  //This is where the cover will go, from google book search
   $value = get_post_meta( bbp_get_topic_id(), 'bbp_extra_fieldc', true);
//   echo '<label for="bbp_extra_fieldc">Cover</label><br>';
   echo "<p><input type='image' name='bbp_extra_fieldc' value='".$value."'></p>";
  //Input field for the Author
   $value = get_post_meta( bbp_get_topic_id(), 'bbp_extra_field1', true);
   echo '<label for="bbp_extra_field1">Author</label>';
   echo "<p><input type='text' name='bbp_extra_field1' value='".$value."'></p>";

   $value = get_post_meta( bbp_get_topic_id(), 'bbp_extra_field2', true);
   echo '<label for="bbp_extra_field2">Published</label><br>';
   echo "<p><input type='date' name='bbp_extra_field2' value='".$value."'></p>";

如有任何帮助,我们将不胜感激。谢谢。

最佳答案

您可以使用json:

 if ( isset( $_POST['book_title'] )) {
    $book_title = $_POST['book_title'];
  }
 if ( isset( $_POST['author'] )) {
    $author = $_POST['author'];
  }

  $r=array("title"=>$book_title,"author"=>$author);
  print(json_encode($r));

我没有检查上面代码中是否存在$book_title$author。您可能需要检查一下。

jquery.ajax中添加dataType并更改成功:

dataType: 'json',
success: function(data) {
     $("input[name='bbp_extra_field1']").val(data.title);
     $("input[name='bbp_extra_field2']").val(data.author);
}

关于javascript - jquery ajax input[name=somename] val(data) - 如何识别多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23608790/

相关文章:

php - PHP 的 MySQL 查询问题

php - 生成 PHPUnit 代码覆盖率报告时无法重新声明类错误

javascript - Owl Carousel 上的重叠幻灯片

javascript - Ajax 和 jQuery 处理程序

javascript - 什么决定链接的 onclick 属性中的 `return false` 是否阻止导航?

javascript - 对于给定的小时,如何获取该小时所在的时区

javascript - 根据 Javascript 中不同的搜索属性值数组匹配数组中的一组对象

javascript - 我如何编写一个 Java 方法,从服务器端 JavaScript 调用,它将 JS 回调函数作为参数?

php - 无法在 MySQL、PHP、AngularJS 中插入多行

javascript - 使用one()时是否需要jQuery.off()?