Javascript Document.getElementById返回null

我是MVC和AJAX的新手,所以这可能是我犯的一个简单错误,但是使用下面的代码,我尝试以下错误getElementById("txtCount").value

<div class="row">
    <div class="col-sm-4">
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h5 style="font-weight:bold;">Parameters</h5>
            </div>
            <div class="panel-body" id="parameters">
                <form class="form-horizontal" id="frmParameters">
                    <div class="form-group">
                        <label for="txtCount" class="col-sm-4 col-form-label">Repeat</label>
                        <input type="number" min="1" max="100" step="1" id="txtCount" value="@Model.Count" class="input-sm col-sm-7" />
                    </div>
                    @if (Model.Grammar.SupportsMaxLength)
                    { 
                        <div class="form-group">
                            <label for="txtMaxLength" class="col-sm-4 col-form-label">Max Length</label>
                            <input type="number" min="1" max="100" step="1" id="txtMaxLength" value="@Model.MaxLength" class="input-sm col-sm-7" />
                        </div>
                    }                        
                    <button name="btnGenerate" class="btn btn-primary pull-right" onclick="Generate();">Generate</button>
                </form>
            </div>
        </div>
    </div>
</div>

<script>
    function Generate() {
    var data = { count: document.getElementById("txtCount").value, maxLength: document.getElementById("txtMaxLength").value };
    }
</script>

如果我更改:

    var data = { count: document.getElementById("txtCount").value, maxLength: document.getElementById("txtMaxLength").value };

至:

    var data = { count: document.getElementById("txtCount").value};

我不再收到错误了。

y州

您的代码看起来不错。我认为您的代码尝试执行此行时出现错误

document.getElementById("txtMaxLength").value

因为在您的视图中,当某些if条件返回时,您正在渲染此元素true因此,您的视图可能根本没有此输入元素,而您正在尝试阅读该内容!(检查页面的查看源,并搜索带有txtMaxLengthID的输入

最好的解决方案是在尝试读取值之前检查它是否存在。

var data = {
              id: "@Model.Id",
              count: document.getElementById("txtCount").value,
              maxLength: null  // or whatever default value you want
            };
if (document.getElementById("txtMaxLength")) {
    data2.maxLength = document.getElementById("txtMaxLength").value;
}

或者,如果您使用的是jQuery库,这很容易

var data = {
              id: "@Model.Id",
              count: $("#txtCount").val(),
              maxLength:$("#txtMaxLength").val()
          };

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android WebView始终在loadUrl上为javascript getElementById返回null

来自分类Dev

JavaScript getElementById返回null

来自分类Dev

无法使用document.getElementById获取元素,返回null

来自分类Dev

从外部jscript调用document.getElementById()返回null

来自分类Dev

为什么document.getElementById在这里返回null?

来自分类Dev

Javascript document.getElementById

来自分类Dev

internetexplorer.application document.getElementByID返回为null / Powershell

来自分类Dev

JavaScript:TypeError:document.getElementById(...)为null

来自分类Dev

JavaScript TypeError:document.getElementById(...)为null

来自分类Dev

JavaScript TypeError:document.getElementById(...)为null

来自分类Dev

JavaScript:$('foo')与document.getElementById('foo')

来自分类Dev

document.getElementById始终为功能区返回“ null”

来自分类Dev

Vuejs + Google Maps> document.getElementById,this.refs为div返回null

来自分类Dev

document.getElementById(“ elementId”)。innerHTML =()的倍数,导致第二个返回为null

来自分类Dev

TypeError:document.getElementById(...)在javascript中为null

来自分类Dev

无法使用document.getElementById获取元素,返回null

来自分类Dev

JavaScript document.getElementById问题

来自分类Dev

document.getelementbyid在循环中返回null

来自分类Dev

为什么document.getElementById在这里返回null?

来自分类Dev

document.getElementById()。value卡在javascript中

来自分类Dev

如何使用Javascript“ document.getelementbyid”

来自分类Dev

Javascript document.getElementById

来自分类Dev

document.getElementById返回null

来自分类Dev

document.getElementById返回空

来自分类Dev

JavaScript:$('foo')与document.getElementById('foo')

来自分类Dev

JavaScript getElementById返回null错误?

来自分类Dev

document.getElementById()返回null

来自分类Dev

JavaScript getElementById始终返回null

来自分类Dev

javascript document.getElementById 循环

Related 相关文章

  1. 1

    Android WebView始终在loadUrl上为javascript getElementById返回null

  2. 2

    JavaScript getElementById返回null

  3. 3

    无法使用document.getElementById获取元素,返回null

  4. 4

    从外部jscript调用document.getElementById()返回null

  5. 5

    为什么document.getElementById在这里返回null?

  6. 6

    Javascript document.getElementById

  7. 7

    internetexplorer.application document.getElementByID返回为null / Powershell

  8. 8

    JavaScript:TypeError:document.getElementById(...)为null

  9. 9

    JavaScript TypeError:document.getElementById(...)为null

  10. 10

    JavaScript TypeError:document.getElementById(...)为null

  11. 11

    JavaScript:$('foo')与document.getElementById('foo')

  12. 12

    document.getElementById始终为功能区返回“ null”

  13. 13

    Vuejs + Google Maps> document.getElementById,this.refs为div返回null

  14. 14

    document.getElementById(“ elementId”)。innerHTML =()的倍数,导致第二个返回为null

  15. 15

    TypeError:document.getElementById(...)在javascript中为null

  16. 16

    无法使用document.getElementById获取元素,返回null

  17. 17

    JavaScript document.getElementById问题

  18. 18

    document.getelementbyid在循环中返回null

  19. 19

    为什么document.getElementById在这里返回null?

  20. 20

    document.getElementById()。value卡在javascript中

  21. 21

    如何使用Javascript“ document.getelementbyid”

  22. 22

    Javascript document.getElementById

  23. 23

    document.getElementById返回null

  24. 24

    document.getElementById返回空

  25. 25

    JavaScript:$('foo')与document.getElementById('foo')

  26. 26

    JavaScript getElementById返回null错误?

  27. 27

    document.getElementById()返回null

  28. 28

    JavaScript getElementById始终返回null

  29. 29

    javascript document.getElementById 循环

热门标签

归档