Javascript 将数据传递到模式弹出窗口

Javascript 将数据传递到模式弹出窗口,javascript,html,Javascript,Html,我有一个打开模式的按钮,它工作没有任何问题,但我现在想把数据从按钮传递到模式中的一个字段 HTML &时代; 背景资料 背景名称: 背景资料: 住手 请在按下下面的提交按钮之前检查您的信息。现在查看您的信息将确保以后无需编辑。谢谢。 JS var modal2=document.getElementById('myModal2'); //获取打开模式对话框的按钮 var btn2=document.getElementById(“myBtn2”); //获取关闭模态的元素 var span2

我有一个打开模式的按钮,它工作没有任何问题,但我现在想把数据从按钮传递到模式中的一个字段

HTML


&时代;
背景资料
背景名称:
背景资料:
住手
请在按下下面的提交按钮之前检查您的信息。现在查看您的信息将确保以后无需编辑。谢谢。
JS

var modal2=document.getElementById('myModal2');
//获取打开模式对话框的按钮
var btn2=document.getElementById(“myBtn2”);
//获取关闭模态的元素
var span2=document.getElementsByClassName(“close2”)[0];
//当用户单击该按钮时,打开模式对话框
btn2.onclick=函数(){
modal2.style.display=“块”;
}
//当用户单击(x)时,关闭模式对话框
span2.onclick=函数(){
modal2.style.display=“无”;
}
//当用户单击模式之外的任何位置时,将其关闭
window.onclick=函数(事件){
如果(event.target==modal2){
modal2.style.display=“无”;
}
}
我希望有人能告诉我怎么做?

你真的不需要将数据“传递”到模态——它是窗口的一部分,你可以使用Javascript来影响它,就像你做按钮一样。例如,如果要更改模式中的文本,可以执行以下操作:

btn3.onclick = function() {
    modal2.textContent = 'different text!';
}
没有真正的理由将数据编码到模态的属性中,至少没有,除非您正在计划比您的示例更复杂的事情


此外,代码中存在一些奇怪的不一致性——为什么输入元素有时写为
input
,有时写为
input
?这与页面的工作方式没有任何关系,但会让阅读变得有点困难。最后,HTML5中不推荐使用
font
元素——改用CSS设置字体规则。

你能让它在代码段中工作吗?另外,您想传递给modal什么?不确定您是否关闭了
标记,以及是否所有div开始/结束匹配并正确关闭。我忘记将添加到我的代码中。我想我已经添加了一个代码片段,我想将一个变量从SQL查询传递到一个隐藏字段,以便在提交表单时传递。不一致和不推荐使用字体元素的原因是由于我将7年前编写的代码与最近编写的代码结合在一起。对不起,您能否详细说明您希望对隐藏字段执行的操作?我不完全确定SQL是否适合您的问题。按钮将id传递给隐藏字段,然后使用该字段链接两个表。通常,我希望创建第二个页面,并使用get子句在URL中传递id,将其放入表单中的隐藏字段中,但我想尝试一些不同的方法。
var modal2 = document.getElementById('myModal2');

// Get the button that opens the modal
var btn2 = document.getElementById("myBtn2");

// Get the <span> element that closes the modal
var span2 = document.getElementsByClassName("close2")[0];

// When the user clicks the button, open the modal 
btn2.onclick = function() {
modal2.style.display = "block";
}

// When the user clicks on <span> (x), close the modal
span2.onclick = function() {
modal2.style.display = "none";
}

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal2) {
modal2.style.display = "none";
}
}
btn3.onclick = function() {
    modal2.textContent = 'different text!';
}