【问题标题】:How to check if radiobutton is selected (javascript, html)如何检查是否选择了单选按钮(javascript,html)
【发布时间】:2020-05-17 15:09:12
【问题描述】:

我正在尝试检查是否选择了单选按钮。如果选择“morn_before”单选按钮,数据将存储为“2”,但如果选择“morn_after”单选按钮,数据将存储为“1”。 目前我在下面显示的代码不起作用。例如,当我选择“morn_before”单选按钮时,它不会在控制台中打印“morn_before checked true”,尽管我在 if 语句中放入了 console.log("morn_before checked true")。

HTML:

<div class="radiobutton">
            <input type="radio" id="morn_before"  name="morn_time" value="morn_before">
            <label for="morn_before">Before Food</label><br>
            <input type="radio" id="morn_after"  name="morn_time" value="morn_after">
            <label for="morn_after">After Food</label><br><br>
 </div>     

Javascript:

function check() {
    let user=firebase.
    auth().currentUser;
    let uid;
    if(user!=null){
        uid=user.uid;
    }
    var firebaseRef = firebase.database().ref();
    if(document.getElementById("morn_before").checked){
        console.log("morn_before checked true");
        firebase.database().ref(uid).child('/radiobutton/').child('/morn_time/').set("2");

    }  
    else if(document.getElementById("morn_after").checked){
        firebase.database().ref(uid).child('/radiobutton/').child('/morn_time/').set("1");
    }
}
check();

【问题讨论】:

  • 不工作”是什么意思?当前的行为是什么?预期的行为是什么?
  • 例如,当我选择“morn_before”单选按钮时,它不会在控制台中打印“morn_before checked true”,尽管我在 if 语句中放入了 console.log("morn_before checked true")。
  • morn_before 点击或更改的事件监听器在哪里?您是否发布了所有相关代码?我看到你有一个check 方法,但是我看不到atm 的连接。
  • 是否可以不使用 C# 中的事件监听器?
  • 那你要提交表单,写一些懂如何阅读提交信息的东西,这点你好像不太熟悉。

标签: javascript html web


【解决方案1】:

您不需要任何 JavaScript。您可以拥有与存储值完全不同的显示。

<div class="radiobutton">
  <input type="radio" id="morn_before"  name="morn_time" value="2">
  <label for="morn_before">Before Food</label><br>
  <input type="radio" id="morn_after"  name="morn_time" value="1">
  <label for="morn_after">After Food</label><br><br>
 </div>   

应该产生相同的结果。唯一的改进是将其中一个设置为默认 true,以防用户两者都不选择。但这取决于你。

附加信息:您不应该以这种方式阅读单选按钮组。

您应该了解一些 HTML INPUT 标签的基础知识,例如

https://www.geeksforgeeks.org/how-to-get-value-of-selected-radio-button-using-javascript/

【讨论】:

  • 如何使用此 HTML 代码将数据存储在 firebase 数据库中?是这样的吗: var x=document.getElementById("morn_before").checked firebase.database().ref(uid).child('/radiobutton/').child('/morn_time/').set( x);
  • 简短回答是“否”。您将光标混淆到数据库表中,而不是 DOM 中的元素。
  • 一般来说,您可能应该向表中写入一个值,可能会更新特定行的特定列。因此,获取该值,并找出您应该写入的行和列。如果你不明白,你真的应该早点问,至于我,你甚至不明白你要完成什么,更不用说找到它的语法了。
  • 是的,我正在尝试在没有任何专业帮助的情况下在短时间内学习 HTML、javascript 和 firebase。所以我很迷茫,因此我在网上提问以寻求任何我能得到的帮助。
  • 我了解您正在尝试自己学习很多东西,但是现在,您缺乏理解我试图解释的基础知识的基础知识。你只是在同时处理太多的主题。我建议你完成一些 HTML 教程,花一周时间学习,然后花一周时间学习 JavaScript 和 jQuery,最后,回来学习 Firebase,它本身有点奇怪,因为它是一个 NoSQL 数据商店(除其他几件事外)。而且我们已经离题了。
猜你喜欢
  • 2022-01-15
  • 2021-10-21
  • 1970-01-01
  • 2014-04-09
  • 2012-03-07
  • 2018-01-26
  • 2012-05-03
相关资源
最近更新 更多