在这个网站的帮助下,到目前为止,我已经弄清楚如何通过 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/