从 javascript 中动态创建的表单中检索输入

Retrieving input from dynamically created forms in javascript

本文关键字:表单 检索 输入 创建 javascript 动态      更新时间:2023-09-26

我是javascript和html的新手,我正在编写一个显示下拉列表的程序,然后根据选择的选项,我显示两个单选按钮和一个文本字段。我无法访问这些输入的值(单选按钮和文本框)。

<html>
<script type="text/javascript">
    window.onload = function()
    {
        var select = document.getElementById("select");
        var texts = document.getElementById("texts");
        select.onchange = function()
        {
            var val = select.options[select.selectedIndex].value;
            texts.innerHTML = "";
            if (val == "employees")
            {
                texts.innerHTML += '<div><input type="radio" name="condition_employees"  value="select_money" /> ></div>';
                texts.innerHTML += '<div><input type="radio" name="condition_employees"  value="select_money1" /> <</div>';
                texts.innerHTML += '<div><input type="text" name="input_employees"  value="select_employees" /></div>';
                //var realValue = document.getElementByName('input_employees')[0].value;
                //texts.innerHTML += '<div>realValue</div>';

            }
            if (val == "total_money")
            {
                texts.innerHTML += '<div><input type="radio" name="condition_money"  value="select_money" /> ></div>';
                texts.innerHTML += '<div><input type="radio" name="condition_money"  value="select_money1" /> <</div>';
                texts.innerHTML += '<div><input type="text" name="input_money"' + '" value="select_money" /></div>';
            }
            if (val == "hits")
            {
                texts.innerHTML += '<div><input type="radio" name="condition_hits"  value="select_money" /> ></div>';
                texts.innerHTML += '<div><input type="radio" name="condition_hits"  value="select_money1" /> <</div>';
                texts.innerHTML += '<div><input type="text" name="input_hits"' + '" value="select_hits" /></div>';
            }
            if (val == "time_founded")
            {
                texts.innerHTML += '<div><input type="radio" name="condition_time"  value="select_money" /> before date </div>';
                texts.innerHTML += '<div><input type="radio" name="condition_time"  value="select_money1" /> after date</div>';
                texts.innerHTML += '<div><input type="text" name="input_time"' + '" value="select_date" /></div>';
            }
        }
    }
    var print = function()
    {
        var category = document.droplist.select.value;
        document.getElementById("category").innerHTML = category

    }
</script>
<body>      
    <form name="droplist" action="html_form_action.asp" method = "get">
    <select id="select" size="1">
        <option value=" " selected="selected"> </option>
        <option value="employees">Number of Employees</option>
        <option value="hits">Hits on TechCrunch</option>
        <option value="time_founded">Time Founded</option>
        <option value="total_money">Total Money</option>
        </select>
        <hr/>
        <div id="texts"></div>
        <input type="button" value="Submit" onClick="print()"/>
    </form> 
        <div id="category"></div>
</body>

我试图通过使用"//var realValue = document.getElementByName('input_employees')[0].value;"来做到这一点,但这显然不起作用。我还想知道如何将此信息作为我的 python 应用程序中函数的参数传递。

谢谢!

我可以提出以下建议:

  1. 不要在javascript中重写<div>。你可以写入<div>的innerHTML。
  2. 与其不断写入这些值,为什么不根据需要禁用/启用?

不幸的是,我无法对这个问题发表评论,所以我不得不在这里发布。对此感到抱歉。