使用HTML标签和innerHTML、setAttribute()等传递数据.编辑和更新存储在数据库中的新闻文章

Passing data using HTML tags and innerHTML, setAttribute(), etc. Editing and updating news articles stored in a database

本文关键字:存储 更新 编辑 数据库 文章 新闻 数据 innerHTML 标签 HTML setAttribute      更新时间:2023-09-26

我有一个简单的新闻更新界面,我从数据库中读取新闻标题/标题,并将它们作为列表打印在页面上。这样做的目的是,当我点击其中一个标题时,它会显示一个带有表单的区域,在这里可以修改新闻文章,然后将其更新回数据库。

现在,为了做到这一点,我需要以某种方式将信息(id或标题本身)传递到表单上,这样我就可以从数据库中读取适当的文章和其他信息。这似乎是一项非常简单的任务,但我注意到它似乎是一项不可能完成的任务。我当然可以把整个表单内的javascript函数,然后传递标题作为参数使用这个。innerHTML的函数,然后从一个变量读取它,但然后我必须生成所有的html使用javascript,或php,但我认为必须有一个更简单的方法来做到这一点。

我已经尝试使用一个隐藏的输入标签和其他如span和div元素,然后通过标题那里的输入元素值使用onclick="document.getElementByID("elementsname").value=this.innerHTML;"和onclick="document.getElementsByName("elementname")[0]。setAttribute("价值/名称",this.innerHTML);"。这样的事情将是如此简单,但由于某些原因,我不知道这些方法不工作。要么信息没有到达那里,要么它不能被javascript从元素中进一步读取。

例如,我可以传递信息使用input元素时,设置它为type="text",它显示在页面上作为一个文本字段,但它是不可读的,从那里由于某种原因,它甚至没有出现在代码时,从浏览器检查源代码。为什么会这样?由于这个原因,我无法获得传递给我的SQL查询的信息,所以我可以从数据库中读取相应的新闻文章到文本区域。

那么,有没有一种方法可以让这个想法发挥作用,或者我应该忘记它并使用其他方法?当web开发人员想要从数据库中打开一些东西进行编辑/更新时,通常是如何完成的?

这种方法通常使用ajax和一个单独的模板视图来完成,该模板视图是动态填充表单的服务器端。

你将有你的新闻文章页面。当单击其中一个时,它将向服务器发出一个带有文章标识符的ajax请求。服务器将组成一个页面,其中包含一个WYSIWYG编辑器,该编辑器预先填充了一组输入元素中的文章信息,以及保存或取消操作。

来自服务器的这个模板页面的响应将在你的新闻文章页面的成功回调中出现,然后将弹出一个模态类型的元素,其中包含服务器端生成的视图。

在完成更改(如果保存视图)后,将调用对页面上相关新闻文章的更新,并将更改发布到服务器。