javascript - 需要帮助解释问题-提交表单时显示文本区域,但表单没有 onSubmit

标签 javascript html css

我需要帮助解释这个雇主正在寻找什么!我正在申请一份工作,他们要求我在 codepen(我以前从未使用过)中做一些编码练习。他们要我“在提交表单之前隐藏感谢消息”

但是,他们示例中的表单没有提交操作。如果您单击代码笔中的提交按钮,您会收到一条错误消息/链接断开。我最初的想法只是让 onClick 函数在按下提交按钮时显示感谢消息,而不管表单是否实际提交......但我很困惑,因为最后一个问题让我写了一个 onClick 函数,所以我觉得他们一定想要不同的东西。我应该写一些代码来以某种方式处理表单吗?你会怎么处理这个?

谢谢!

我完成了第 1 步,正在尝试执行第 2 步...

function toggle(value) {
  if (value == 'show') {
    document.getElementById('reviewText').style.display = 'block';
  } else {
    document.getElementById('reviewText').style.display = 'none';
  }
}

function showThanks {
  document.getElementById('thanks').style.display = 'block';
}

$(document).ready(function() {

});
#reviewText {
  display: none;
}

#thanks {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
  <label>Would you like to us leave a review? </label>
  <div class="radio">
    <label><input type="radio" name="review" value="Yes" onClick="toggle('show')"/>Yes</label>
  </div>
  <div class="radio">
    <label><input type="radio" name="review" value="No" onClick="toggle('hide')"/>No</label>
  </div>
  <!-- Step 1. Hide the review text box unless user selects "Yes" -->
  <div class="textarea" id="reviewText">
    <label>Great! Please leave your review here:</label>
    <br>
    <textarea cols="40" rows="10"></textarea>
  </div>
  <div class="button">
    <button name="submit" type="submit">Submit</button>
  </div>
</form>
<!-- Step 2. Hide the thank you message until the form has been submitted -->
<div id="thanks">Thanks for your feedback! Have a great day.</div>

最佳答案

当表单元素没有定义 action 属性时,数据在表单显示的相同 url 中处理 (more info)。我认为在您的情况下,您需要为表单的提交事件定义一个处理程序,如下所示:

document.getElementsByTagName('form')[0].addEventListener('submit', function () {
  console.log('submitted');
  document.getElementById('thanks').style.display = 'block';
});

关于javascript - 需要帮助解释问题-提交表单时显示文本区域,但表单没有 onSubmit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57433824/

相关文章:

html - [object Object] 和 [object HtmlDivElement] 之间的区别。 Div 玩转 jQuery

css - 样式输入类型=文件未按预期工作

javascript - 私有(private)范围 Javascript 的最佳方式?

javascript - Reactjs 组件的异步渲染

javascript - 加载后跳转到 iframe

html - 如何在这些表单框之间填充一些内容?

html - ruby rails : Syntax within CSS in view?

javascript将新对象分配为对象属性

javascript - backbone.js - 每秒刷新一个集合?

javascript - AngularJs ng-model substr