简体   繁体   English

在 CSS 弹出窗口中显示输入文本值

[英]Showing Input Text Value in CSS Pop-Up

I'm trying to make the value of an input text show on a pop-up, both on the click of an input button.我正在尝试使input文本的值显示在弹出窗口中,同时单击输入按钮。 For example, if I type "James" and press the button, "James" will show in the pop-up .例如,如果我输入“James”并按下按钮,“James”将显示在pop-up (EXAMPLES BELOW) (以下示例)

However, the code below isn't working on my site (nor JSFiddle).但是,下面的code不适用于我的网站(也不是 JSFiddle)。 It does work on the Stack Snippet, rather strangely.奇怪的是,它确实适用于 Stack Snippet。 How can I fix the code so that it works everywhere?如何修复code以使其在任何地方都可以使用?

JSFiddle (not working) - https://jsfiddle.net/23wom1f7/ JSFiddle(不工作) - https://jsfiddle.net/23wom1f7/

Stack Snippet (working) -堆栈片段(工作) -

 function preview() { var fname = document.getElementById("fname").value; document.getElementById("modalname").innerHTML = fname; } var modal = document.querySelector(".modal"); var trigger = document.querySelector("#preview"); var closeButton = document.querySelector("#close"); function toggleModal() { modal.classList.toggle("show-modal"); } function windowOnClick(event) { if (event.target === modal) { toggleModal(); } } trigger.addEventListener("click", toggleModal); closeButton.addEventListener("click", toggleModal); window.addEventListener("click", windowOnClick);
 .modal { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); opacity: 0; visibility: hidden; transform: scaleX(1.1) scaleY(1.1); transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s; } .modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; padding: 1rem 1.5rem; width: 24rem; border-radius: 0.5rem; } #close { float: right; width: 1.5rem; line-height: 1.5rem; text-align: center; cursor: pointer; border-radius: 0.25rem; background-color: lightgray; } #close:hover { background-color: darkgray; } .show-modal { opacity: 1; visibility: visible; transform: scaleX(1.0) scaleY(1.0); transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s; }
 <input class="formData" id="fname" type="text" maxlength="20" name="fname" placeholder="First Name" autocomplete="off"> <input type="button" class="formAsk" id="preview" onclick="preview()" name="preview" value="PREVIEW"> <div class="modal"> <div class="modal-content"> <span id="close">&times;</span> <h3>Preview Your Message:</h3> Name: <span id="modalname"></span> </div> </div>

This works: https://jsfiddle.net/zsetxdrg/这有效: https : //jsfiddle.net/zsetxdrg/

basically just changed this....基本上只是改变了这个......

this.preview = function() {
  var fname = document.getElementById("fname").value;
  document.getElementById("modalname").innerHTML = fname;
}

Looks like a scoping issue, check your console its not seeing the preview() function.看起来像一个范围问题,检查你的控制台它没有看到 preview() 函数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM