使用php、mysql和javascript更改输入字段的文本

changing text for an input field using php, mysql, and javascript

本文关键字:输入 字段 文本 javascript php mysql 使用      更新时间:2023-09-26

好的,我有一些数据正在通过php查询填充到数据库。我正在获得用户输入的评论。我在一个变量中显示返回的数据,如下所示。如果评论不存在,那么它将显示一个"添加评论"链接。注释最初只是作为文本显示。如果存在评论,那么它将显示评论以及"编辑"评论的链接。

这是我想要的功能:1)当你点击"添加评论"一个输入字段将显示到左侧的"添加评论"链接,该链接会变成两个链接,读"保存"answers"取消"。我知道如何做保存链接,但我想知道如何使"取消"链接恢复区域回到只是有"添加评论"链接。2)当你点击"编辑评论",然后我想与输入字段和"保存"answers"取消"链接相同的功能;但是,我希望输入字段预先填充通过comments变量提取的注释文本。我想也许这可以用一些css显示切换无和块/内联。不过不太确定。任何帮助都非常感谢!

PHP代码:

if(!$comments){
    echo "<span style='font-size:12px;'>[<a href='#'>Add a Comment</a>]</span>";
}else{
    echo "<span style='font-size:12px;'>NOTES: " . $comments . " [<a href='#'>Edit Comment</a>]</span>";
}

最后一个问题:如果注释有特殊字符或引号,我该如何处理?实际上,我想我需要在变量创建之前担心这些,对吗?我该怎么做?非常感谢!

更新:我很感激在处理特殊字符方面的帮助,但我真的需要前两个问题得到更多的回答。感谢任何人给我提供更多的帮助!

第一个和第二个问题的答案:您可以使用javascript或jquery....例如

make 2div

<div id="addcommentBox" style='font-size:12px;'>[<a onclick="$('#addcommentBox').hide();$('#savecommentbox').show();">Add a Comment</a>]</div>
<div id="savecommentbox"><input type="text"/><a href="#">Save</a><a onclick="$('#addcommentBox').show();$('#savecommentbox').hide();">Cancel</a></div>

设置CSS属性#savecommentbox为display:none;

虽然有很多方法,但这是最简单的一个…对于edit,您可以遵循相同的代码。输入值为$comments

您必须在回显它们之前传递来自htmlspecialchars()的变量。

echo "<span style='font-size:12px;'>
        NOTES: " . htmlspecialchars($comments) . " 
        [<a href='#'>Edit Comment</a>]
      </span>";
<textarea name="comment"><?php echo htmlspecialchars($comments);?></textarea>

可以使用htmlentities

  1. 许多人给出的一个答案是htmlspecialchars()。

  2. 当你点击添加评论链接。显示文本区域。当您单击取消按钮时,隐藏文本区域并再次显示添加评论链接。我觉得如果你使用jquery,你可以使用显示/隐藏函数