gpt4 book ai didi

php - 在一页上发送并打印 PHP 数组结果?

转载 作者:行者123 更新时间:2023-11-28 10:11:11 25 4
gpt4 key购买 nike

我是一名 PHP 初学者,今天我开始学习 Mootools。我正在尝试一个自动完成搜索框,它会在您提交表单后发送一个数组。您可以输入多个名称并搜索所有名称。

我想做的是在 mootools 中获取该数组,将其发送到 PHP 并在不离开页面的情况下显示结果。

Here is the original file

// Autocomplete initialization
var t4 = new TextboxList('form_tags_input_3', {unique: true, plugins: {autocomplete: {}}});

// sample data loading with json, but can be jsonp, local, etc.
// the only requirement is that you call setValues with an array of this format:
// [
// [id, bit_plaintext (on which search is performed), bit_html (optional, otherwise plain_text is used), autocomplete_html (html for the item displayed in the autocomplete suggestions dropdown)]
// ]
// read autocomplete.php for a JSON response example

t4.container.addClass('textboxlist-loading');
new Request.JSON({url: 'autocomplete.php', onSuccess: function(r) {
t4.plugins['autocomplete'].setValues(r);
t4.container.removeClass('textboxlist-loading');
}}).send();

这是 autocomplete.php

$response = array();
$names = array('Some name', 'Some name 2', 'etc');

// make sure they're sorted alphabetically, for binary search tests
sort($names);

foreach ($names as $i => $name)
{
$filename = str_replace(' ', '', strtolower($name));
$response[] = array($i, $name, null, '<img src="images/'. $filename . (file_exists('images/' . $filename . '.jpg') ? '.jpg' : '.png') .'" /> ' . $name);
}

header('Content-type: application/json');
echo json_encode($response);

提交.php

<?php
print_r($_POST);
?>

And here is what I did

我的PHP:

<?php
$result['msg'] = print_r($_POST);

echo json_encode($result);
?>

以下是我在 index2.php 文件中所做的更改:

<input type="submit" name="submitform" value="Submit" id="submitform" />
<p id="response"></p>

$('#submitform').addEvent('click', function(){

new Request.JSON({
url: "inc/php/json.php",
onSuccess: function(response){

$('response').set('html',+data.result);

}
}).get($('findnames'));


});

当您按下提交时,没有任何反应,所以显然我在某个地方犯了一个我似乎无法弄清楚的错误。

最佳答案

$result['msg'] = print_r($_POST);

你不能这样做,print_r直接打印数组内容到页面,所以你不能将它存储在变量中。

也许你会用这个:

<input type="button" onclick="SomeFunction(); name="submitform" value="Submit" id="submitform" />

只需将 SomeFunction(); 更改为其他内容即可。

编辑:我检查了 Chrome 错误控制台,它的内容如下:

Uncaught TypeError: Cannot call method 'addEvent' of null

因此,由于某种原因,#submitform 似乎无效。请尝试我的功能,使其正常工作。

关于php - 在一页上发送并打印 PHP 数组结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7416192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com