Ich möchte folgendes nachbauen: http://davidwalsh.name/editable-cont...ools-php-mysql
Ich habe folgenden JS-Code:
Code:
<script type="text/javascript">
<!--//--><![CDATA[//><!--
//once the dom is ready
window.addEvent('domready', function() {
// Find the editable areas
$$('.editable').each(function(el) {
// Add double-click and blur events
el.addEvent('dblclick',function() {
// Form
var form = new Element('form', { 'id': 'f1', 'method': 'post', 'action': '{{env::request}}', 'enctype': 'application/x-www-form-urlencoded'});
// Replace current text/content with input or textarea element
if(el.hasClass('textarea'))
{
// Store "before" message
var before = el.get('html').trim();
// Input
var input = new Element('textarea', { 'id': 'ctrl_5', 'class':'box', 'text':before });
}
else
{
// Store "before" message
var before = el.get('text').trim();
// Input
var input = new Element('input', { 'class':'box', 'name': 'text', 'value':before});
// Blur input when they press "Enter"
input.addEvent('keydown', function(e) { if(e.key == 'enter') { this.fireEvent('blur'); } });
}
// Erase current
el.set('html','');
form.inject(el);
input.inject(form, 'top').select();
// Add blur event to input
input.addEvent('blur', function() {
// Get value, place it in original element
val = input.get('value').trim();
el.set('text',val).addClass(val != '' ? '' : 'editable-empty');
// Save respective record
var url = '{{env::request}}' + '?text=' + el.get('text');
var request = new Request({
url:url,
method:'post',
update: $$('#f1'),
onComplete: function() {
alert('making ajax call :: ' + url);
}
}).send();
});
});
});
});
//--><!]]>
</script>
Jetzt möchte ich die JS-Daten bekommen und verabeiten, deshalb steht in meinem Module ModuleName.php folgendes in der compile-Funktion:
PHP-Code:
<?php if ($this->Input->post('text'))
{
$arrData['headline'] = $this->Input->post('text');
$this->Database->prepare("UPDATE tl_name %s WHERE id=?")->set($arrData)->execute(3);
} ?>
Jedoch wird nichts updatet. An sich ist es logisch, da die Seite nicht neu geladen wird - es sollte aber auch ohne gehen. Habe ich etwas vergessen? Ich danke für jeden Tipp!
Danke für die Hilfe!
Lesezeichen