【发布时间】:2009-07-01 21:00:58
【问题描述】:
再次您好,感谢您的努力!由于我之前的问题没有成功,我想我会给它另一种方法。所以基本的想法是在 mysql 上更新我的日历事件:
$eventQuery = mysql_query("SELECT id, body FROM tblCalEvent WHERE id= '$eid'", $conn);
它单独位于 PHP 文件中,通过返回 ID 和 Body 可以正常工作。现在,我需要将正文显示在此表单的 textarea 中(它位于具有所有 javascript 功能的主页上):
<div style="display: none; margin-top: 10px;" id="editEvent">
<br>
<textarea id="evtBody" cols="20" rows="5" wrap="hard"></textarea>
<br>
<input type="button" value="save changes" onClick="updateEvent(($F('eid'),$F('evtDay'));">
<input type="button" value="Cancel" onClick="Element.hide('editEvent');">
当我调用这个函数时:
function editEvent(eid, body) {
if(Element.visible('editEvent')) {
// do nothing, its already visble.
} else {
setTimeout("Element.show('editEvent')", 300);
}
}
然后表单通过传递之前的 eid 和编辑的正文调用下面的函数:
function updateEvent(eid, body) {
new Ajax.Updater('editEvent','rpc.php', {method: 'post', postBody: 'action=updateEvent&&eid='+eid+'&body='+body+'', onSuccess: Element.hide('editEvent')});
if(Element.visible('editEvent')) {
Element.hide('editEvent');
} else {
setTimeout("Element.show('editEvent')", 300);
}
}
感谢您的建议!以下是我尝试失败的方法!
大家好,提前感谢您的帮助! 这真的让我发疯!我要做的是通过编辑我的 PHP 文件中以这种形式回显的文本来编辑日历上的事件:
echo '<div style="background-color: white; margin-bottom: 4px; padding: 1px;" id="event_'.$e_id.'">
<textarea id="evtBody" cols="20" rows="5" wrap="hard"> '. nl2br($e_body) .'/textarea>
<input name="save" id = "save" type="button" value="Save" style="height:1.8em;width:3.5em;" onClick="updateEvent(('.$e_id.'), $F(\'evtBody\'))"/>
除了最后一部分 $F(\'evtBody\') 之外,一切正常,该函数返回一个空字符串,这在我的数据库中是不允许的。
这是我当前的功能:
function updateEvent(eid, body) {
alert(eid);// returns the Event ID correctly
alert(body);// returns an empty string instead of text in the text area
new Ajax.Updater('editEvent','rpc.php', {method: 'post', postBody: 'action=updateEvent&&eid='+eid+'&body='+body+'', onSuccess: Element.hide('editEvent')});
if(Element.visible('editEvent')) {
Element.hide('editEvent');
} else {
setTimeout("Element.show('editEvent')", 300);
}
}
【问题讨论】:
-
如果您将代码缩进 4 个空格,它将正确转义并突出显示。请修复您的帖子,因为您已经删除了括号,我不确定我是否可以在保持原始代码不变的情况下做到这一点。
-
我已经尝试过解决这个问题 - 希望这是正确的。
-
@Greg - 我认为它的 Prototype/Script.aculo.us 什么的。在那些中,它得到一个表单值。
-
是 .'/textarea>(缺少
-
原始代码是否生成有效的html?似乎缺少很多左括号和右括号。
标签: php javascript