javascript - 无法使用js将HTML元素分配给变量

标签 javascript css display

我正在尝试在单击按钮时使用 JS 更改某些文本的显示属性。

我已经使用调试器确认该函数正在触发并正确运行,但出于某种原因,我无法获取我需要更改的特定元素,并将其分配给变量。我还在页面上设置了 jquery。

我尝试使用控制台,document.getElementById('warning-textID') 返回正确的元素,但是当我尝试将它设置为控制台中的变量时,它返回未定义。我在这里错过了一些非常明显的东西吗?

这是 HTML、函数和 CSS。

//adding event listener
$(function() {
document.getElementById("submitdiscount").addEventListener("click", putCookie);
});


// click function
function putCookie() {
	var enteredValue = document.getElementById("nameBox").value;
  var validParam = "test";
  var warning = document.getElementById("warning-textID");
  var cookieCreated = false;
    
	if(enteredValue == validParam){
		console.log('do the thing')
    
		if(cookieCreated == false && enteredValue == validParam){
      warning.innerText = "Please enable cookies";
			warning.style.display = "";
			return;
    } else {
		warning.innerText = "Please enter the correct code."
		warning.style.display = "";
		enteredValue.value = "";
		return;
	}
}
.warning-text {
  color: red; text-align: center; 
  margin-bottom: 0px; 
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="employee-code-input-wrapper" id="employee-code-input">
	<div class="employee-code-input-header">
		<h2>Enter the employee code you received via email</h2>
	</div>

	<div class="search-bar emplyoee-code-input-input-wrapper" >
		<input class="emplyoee-code-input-input" type="text"  placeholder="Enter Employee Code" code="" id="nameBox" name="pass"> 
		<button  class="btn btn--submit-employee-form" value="Submit" id="submitdiscount" type="button">submit</button>
	</div>
	<h2 class="warning-text" id="warning-textID">
		Please enter the correct code.
	</h2>
</div>

最佳答案

我修正了一些错误并且成功了。

//adding event listener
$(function() {
  document.getElementById("submitdiscount").addEventListener("click", putCookie);
  // click function
  function putCookie() {
    var enteredValue = document.getElementById("nameBox").value;
    var validParam = "test";
    var warning = document.getElementById("warning-textID");
    var cookieCreated = false;
    if (enteredValue === validParam) {
      console.log('do the thing')

      if (cookieCreated == false && enteredValue === validParam) {
        warning.innerText = "Please enable cookies";
        warning.style.display = "block";
        return;
      }
    } else {
      warning.innerText = "Please enter the correct code."
      warning.style.display = "block";
      enteredValue.value = "";
      return;
    }
  }
});
.warning-text {
  color: red;
  text-align: center;
  margin-bottom: 0px;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="employee-code-input-wrapper" id="employee-code-input">
  <div class="employee-code-input-header">
    <h2>Enter the employee code you received via email</h2>
  </div>

  <div class="search-bar emplyoee-code-input-input-wrapper">
    <input class="emplyoee-code-input-input" type="text" placeholder="Enter Employee Code" code="" id="nameBox" name="pass">
    <button class="btn btn--submit-employee-form" value="Submit" id="submitdiscount" type="button">submit</button>
  </div>
  <h2 class="warning-text" id="warning-textID">
    Please enter the correct code.
  </h2>
</div>

关于javascript - 无法使用js将HTML元素分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52772001/

相关文章:

javascript - 如何在 vue 2 的 v-model 中动态绑定(bind)值

javascript - PhoneGap HTML 慢速动画

html - 在 Internet Explorer 中呈现不一致

linux - 在linux中使用display命令显示所有.png图像

ios - 如何在我的展示标签上显示所有数字? - 基本计算器

javascript - 固定状态栏与滑出菜单冲突

javascript - Angular 6,类变量在完成之前不会从 (change) 调用的方法内部进行更新

CSS调整菜单和内容背景图片

javascript - 当从移动设备长按我的网站图像时出现设计问题

html - 具有最大宽度的内联 block 不会有省略号