I am a PHP beginner and today I started learning Mootools. I am experimenting with a autocomplete search-box that sends out an array after you submit the form. You can type multiple names and search for all of them.
What I’m trying to do is to take that array in mootools, send it to PHP and display the results without leaving the page.
// 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();
Here’s 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);
Submit.php
<?php
print_r($_POST);
?>
My php:
<?php
$result['msg'] = print_r($_POST);
echo json_encode($result);
?>
And here are the changes I made in the index2.php file:
<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'));
});
When you press submit, nothing happens, so obviously I made an error somewhere that I can’t seem to figure out.
you cannot do this,
print_rdirectly prints the array contents to page, so you cannot store it in variable.Maybe you would use this:
Just change
SomeFunction();to something else.EDIT:
I checked Chrome error console and here´s what it says:
So
#submitformseems not to be valid in some reason. Please try my function thing to make it work like it should.