javascript:document.getElementById(“xxx”)将无效

时间:2017-04-27 03:22:24

标签: javascript c# asp.net-mvc

我有一个下面的表格,它在“选择选项”中会触发函数selectType(),我发现函数selectType()已经运行,因为警报工作并显示在屏幕上,然后是“文档” .getElementById( “selectType”)提交();”。似乎不会起作用,因为它不会去我想要的网址。

于2017/02/26编辑:谢谢你的回答。

我发现如果表单里面有“@using(Html.BeginForm())”,那么“document.getElementById(”selectType“)。submit();”如果表单在“@using(Html.BeginForm())”之外,它将无效。

    <script>
        function selectType() {
            alert("aa");
            document.getElementById("selectType").submit();
        }
    </script>

    <form id="selectType" action="/TRecords/Audit">
        <input type="text" name="id" class="dateInput" value=@ViewBag.SId hidden>
        <select onchange="selectType();" name="auditType" class="form-control">
            <option>Select Type</option>
            <option value=1>A</option>
            <option value=2>B</option>
            <option value=3>C</option>
            <option value=4>D</option>
        </select>
    </form>

4 个答案:

答案 0 :(得分:1)

只需更改&#39; name&#39;到了&#39; id&#39;。

<form id="selectType" action="/TRecords/Audit">

为了使用&#39; getElementById&#39;您需要使用&#39; id&#39;属性。

答案 1 :(得分:1)

你几乎把它弄好但是这一行:

<form name="selectType" action="/TRecords/Audit">

需要改变:

<form id="selectType" action="/TRecords/Audit">

答案 2 :(得分:0)

  

“的document.getElementById(” selectType “)。提交();”似乎不会起作用

因为您已将表单的name设置为selectType而不是id

  1. 设置<form id="selectType">..</form>
  2. 或者如果名称必须,则使用document.getElementsByName('selectType')[0].submit();

答案 3 :(得分:0)

感谢您的回答。

我发现,如果@using (Html.BeginForm())中的表单,那么document.getElementById("selectType").submit();将不起作用。如果表单在@using (Html.BeginForm())之外,则可以使用。