【问题标题】:check if radio button is checked in ejs检查是否在 ejs 中选中了单选按钮
【发布时间】:2022-01-21 23:11:39
【问题描述】:

正如标题所说,我正在尝试检查是否选中了单选按钮,但由于文档不可用,我应该怎么做?我要实现

<%if(radio1.checked){%>
 <%-include('./someHtml')%>
<%}%>

【问题讨论】:

  • 在服务器上处理一个ejs模板,然后将结果发送到浏览器。 ejs 代码都是关于编写初始文档的。处理客户端点击发生在一个完全不同的领域。

标签: javascript if-statement ejs


【解决方案1】:

假设您只关心文档加载时的状态

没有文档,但也没有单选按钮。

你有一些数据和一个EJS程序。

EJS 程序必须已经有一些逻辑来检查该数据并确定它是否应该为每个单选按钮输出(或不)checked 属性。

使用相同的逻辑来确定是否应使用include


另一方面,如果您想在用户单击单选按钮时更改所显示的内容,那么您无法在 EJS 中执行此操作。

当 HTML 被传送到浏览器,变成 DOM,并呈现在用户可以点击的地方:EJS 已经完成

您可以:

  • 使用客户端 JS 更改显示的内容
  • 用链接或提交按钮替换单选按钮,并根据提交的数据从服务器加载一个全新的页面

相关阅读:

【讨论】:

    【解决方案2】:

    您可以在单击单选按钮时发送 Ajax 请求并在后端处理其状态或使用 Javascript 显示/隐藏“someHtml”:

    <input
      type="radio"
      name="toggleHtml"
      onclick="document.getElementById('someHtml').style.display = 'block';" checked
    /> Show
    
    <input
      type="radio"
      name="toggleHtml"
      onclick="document.getElementById('someHtml').style.display = 'none';"   
    /> Hide
    
    <div id="someHtml">Some HTML ...</div>
    

    【讨论】:

      猜你喜欢
      • 2016-09-26
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 2011-01-12
      • 2011-03-28
      相关资源
      最近更新 更多