html 如何在Javascript中使用Thymeleaf ID?

zte4gxcn  于 2022-11-27  发布在  Java
关注(0)|答案(1)|浏览(157)

我一直在使用HTML在Thymeleaf中分配我的ID(数据来自PostgreSQL,Eclipse上的框架SpringBoot。PHP和JQuery不包括在教学大纲中)。
我想检查用户是否没有选择任何单选按钮,并想在Javascript上尝试。
HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" name="viewport"
    content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0" />
<!-- CSSの読み込み -->
<link type="text/css" rel="stylesheet" href="./css/examMain.css">
<title>模擬試験オンラインー英単語試験</title>
</head>

<body>
    <form method="post" action="/result" data-th-object="${form}">
        <!-- ヘッダータイトル -->
        <div class="headerbackground">
            <h6>模擬試験オンライン</h6>
        </div>
        <br>
        <!-- 試験指示 -->
        <div class="examinstruction">
            <p>表示された言葉の英単語を以下から1つを選び、</p>
            <p>OKボタンをクリックしてください。</p>
        </div>
        <br>
        <!-- 質問 -->

        <div data-th-each="list, st : ${form.list}">
            <p style="text-align: center; font-size: 12px;">
                <span data-th-text="${list.questionCount}">n</span> <span>/</span> <span
                    data-th-text="${list.questionTotal}">/n</span>
            </p>
            <div class="questionborder">
                <p style="font-size: 22px; font-weight: bold"
                    data-th-text="${list.content}">question</p>
            </div>
            <!-- 解答選択肢 -->
            <fieldset style="border: 0">
                <div class="choiceradiobox"
                    data-th-each="choice, stat : ${list.choice}">
                    <input data-th-id="|choice_id${st.index}${stat.index}|"
                        data-th-name="|choice${st.count}|" type="radio"
                        data-th-value="${choice}"
                        data-th-field="*{list[__${st.index}__].choiceAnswer}" /> <br>
                    <label data-th-for="|choice_id${st.index}${stat.index}|"
                        data-th-text="${choice}"></label>
                </div>
            </fieldset>
        </div>

        <!-- 解答完了ボタン -->
        <div class="submitsection">
            <input class="btn btn-secondary" style="font-size: 25px"
                type="submit" value="OK!">
        </div>
    </form>
</body>
</html>

一直卡在ID部分-有什么办法改变这一位

data-th-id="|choice_id${st.index}${stat.index}|"

以document.getElementById开头的代码,就像这样吗?

var choiceselect = document.getElementById("|choice_id${st.index}${stat.index}|".checked);

我阅读了Thymeleaf的官方文档,但仍然无法理解Js部分:((上面的代码创建了一个错误,显示java.lang.IndexOutOfBoundsException:索引1超出长度1的界限)
提前感谢您!

368yc8dk

368yc8dk1#

我想我明白了-对于单选按钮,最好使用名称,而不是id。就像这样:

for (var j = 0; j < 8; j++) {
    var radio_choice = document.getElementsByName("list[" + j +"].choiceAnswer");

相关问题