当前位置: 首页 > 知识库问答 >
问题:

表单使用2个函数获取值

金宣
2023-03-14
document.querySelector("button").addEventListener("click", function () {
    console.log('Click détecté ');
        var form = document.createElement('form');
            form.setAttribute('method', 'GET');
            form.setAttribute('id', 'formSelectNbColumns');

            document.body.appendChild(form);


            let monSelect = document.createElement('select');
            monSelect.setAttribute('id', 'choice');
            monSelect.setAttribute('name', 'premier');
                let monOption = document.createElement('option');
                    monOption.setAttribute('value', 1);
                    monOption.innerText = 'choice1';
                    monSelect.appendChild(monOption);
                let monOption2 = document.createElement('option');
                    monOption2.setAttribute('value', 2);
                    monOption2.innerText = 'choice2';
                    monSelect.appendChild(monOption2);
           form.appendChild(monSelect);
            let input = document.createElement('input')
            input.setAttribute('type', "submit");

            input.setAttribute('value', "submit");
            form.appendChild(input);

            document.querySelector("#choice").addEventListener("click", function () {
    console.log('Click détecté pour la deuxieme fois'); 

let formSelect = $('#formSelectNbColumns');
            let optionSelected = $("option:selected", formSelect);
            console.log('Valeur sélectionné : ' + optionSelected.val());

       });
        }
    );


<!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <title>Quelques langages</title>
</head>

<body>
    <button id="test">Ajouter un block</button>
<script src="jquery-3.3.1.min.js"></script>
    <script src="test.js"></script>

</body></html>

Document.QuerySelector(“Button”).AddEventListener(“Click”,function(){console.log(“Click Détecté”);

var form = document.createElement('form');
        form.setAttribute('method', 'GET');
        form.setAttribute('id', 'formSelectNbColumns');

        document.body.appendChild(form);

        let monSelect = document.createElement('select');
        monSelect.setAttribute('name', 'premier');

        let monOption = document.createElement('option');
        monOption.setAttribute('value', 1);
        monOption.innerText = 'choice1';
        monSelect.appendChild(monOption);

        let monOption2 = document.createElement('option');
        monOption2.setAttribute('value', 2);
        monOption2.innerText = 'choice2';
        monSelect.appendChild(monOption2);
        form.appendChild(monSelect);

        let input = document.createElement('input')
        input.setAttribute('type', "submit");

        input.setAttribute('value', "submit");
        form.appendChild(input);

        document.querySelector("#choice").addEventListener("click", function() {
            console.log('Click détecté pour la deuxieme fois');

            let formSelect = $('#formSelectNbColumns');
            let optionSelected = $("option:selected", formSelect);
            console.log('Valeur sélectionné : ' + optionSelected.val());
        });
    }
);


<!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <title>Quelques langages</title>
</head>

<body>
    <button id="test">Ajouter un block</button>

    <script src="test.js"></script>
    <script src="jquery-3.3.1.min.js"></script>
</body></html>

共有1个答案

裴弘
2023-03-14

脚本抛出错误:

“未捕获的TypeError:无法读取Null的属性”Add EventListener“”

它是由这一行抛出的:

document.querySelector("#choice").addEventListener("click", function() {...});
monSelect.setAttribute('id', 'choice');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="test.js"></script>
document.querySelector("button").addEventListener("click", function() {
        console.log('Click détecté ');
        var form = document.createElement('form');
        form.setAttribute('method', 'GET');
        form.setAttribute('id', 'formSelectNbColumns');

        document.body.appendChild(form);

        let monSelect = document.createElement('select');
        monSelect.setAttribute('name', 'premier');
        monSelect.setAttribute('id', 'choice');
        let monOption = document.createElement('option');
        monOption.setAttribute('value', 1);
        monOption.innerText = 'choice1';
        monSelect.appendChild(monOption);
        let monOption2 = document.createElement('option');
        monOption2.setAttribute('value', 2);
        monOption2.innerText = 'choice2';
        monSelect.appendChild(monOption2);
        form.appendChild(monSelect);
        let input = document.createElement('input')
        input.setAttribute('type', "submit");
        input.setAttribute('value', "submit");
        form.appendChild(input);

        document.querySelector("#choice").addEventListener("click", function() {
            console.log('Click détecté pour la deuxieme fois');

            let formSelect = $('#formSelectNbColumns');
            let optionSelected = $("option:selected", formSelect);
            console.log('Valeur sélectionné : ' + optionSelected.val());

        });
    }
);
<!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <title>Quelques langages</title>
</head>

<body>
    <button id="test">Ajouter un block</button>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="test.js"></script>
</body>

</html>
 类似资料:
  • 我想从2个mysql表中获取数据。 表tbl_1: 表tbl_2: 我试过这个: 我的结果是: 结果看起来不错,但并不完美。我得到许多空行,它们不在结果中。结果中只应包含前两行。 我的错在哪里?

  • 问题内容: 这是将单个表一分为二的结果: 要在只有一个表的情况下选择单个记录: 如何从两个表中获得所有记录,这些表的行由users.user_id = data.user_id连接? 问题答案: 使用显式语法可以为您提供帮助。将查询重写为: 并获取所有没有WHERE条件的行: 它将关注点分开:连接表的条件和限制结果集的条件。

  • 我无法从两个表中获得数据,每个表都有条件。文档中没有示例。我只需要来自students表的行,其中一个字段被标记为非活动,来自Guardian表的相应行email字段不为空。卫报有很多学生。我得到了结果,但是我得到了Guardian电子邮件的空值。我尝试了很多ID、型号名称等组合,但我就是不明白。 结果: http://book.cakephp.org/2.0/en/core-libraries/

  • 问题内容: 是否有一种简单的单行方式来获取表单数据,就像以经典的纯HTML方式提交那样? 例如: 输出: 这样的事情太简单了,因为它不(正确地)不包含文本区域,选择,单选按钮和复选框: 问题答案: $(‘form’).serialize() //this produces: “foo=1&bar=xxx&this=hi”

  • 下面的代码是一个HTML表单,我想要做的是从该表单中获取输入,将其保存到会话存储,并能够跨页传输。 我知道通常如何这样做,但特别是对于HTML表单,这对我不起作用。 因此,如果一个用户在Conor中输入一个用户名,我希望该用户名保存到会话存储中,这样我就可以获得该用户名并在另一个页面上使用它 当我尝试从会话存储获取该输入时,它当前没有获取该输入,并且它什么也不做。 所以如果有人能向我解释一下我在获

  • 我有2个servlet、1个html页面和1个jsp页面。现在我想把以前的表单值放入新页面。 示例流:test.html(键入一些东西)->servlet1->output2.jsp(不键入任何东西)->servlet2->output2.jsp(输入表单包含我键入的test.html值)