开发者问题收集

无法读取未定义的属性长度?

2017-02-26
143

我创建了一个函数,它接受我在 html 文本框中编写的字符串,并在下一个文本框中打印该字符串的长度(第一个文本框是我的 HTML 页面上的第 5 个文本框)

function StringLength(){

var aInput = document.querySelectorAll("[text='text']");
var sResult = aInput[5].length;
aInput[6].value = (sResult);



}

然后我使用 onClick 方法通过调用该函数在第 6 个文本框中打印字符串的长度

<label><input type="button" value="Trouve" onClick="LongueurChaine()"/></label>

Uncaught TypeError: Cannot read property 'length' of undefined
at LongueurChaine (demo.js:54)
at HTMLInputElement.onclick (gabarit.html:85)
LongueurChaine @ demo.js:54
onclick @ gabarit.html:85

每次我尝试单击按钮时都会出现此信息...?有没有更简单的方法来实现此目的?

2个回答
                <div> 
                <fieldset>
                    <label>String : <input type="text" name="Nom"/></label>

                    <label>Length : <input type="text" name="Nom"/></label>

                    <label>'x' : <input type="text" name="Nom"/></label>

                    <label>Position of 'x' : <input type="text" name="Nom"/></label>

                    <label>Integer : <input type="text" name="Nom"/></label>

                    <label>char : <input type="text" name="Nom"/></label>

                    <label>Extraction : <input type="text" name="Nom"/></label>


                </fieldset>

                      <fieldset>

                    <label><input type="reset" value="Efface"/></label> 
                          <br>
                    <label><input type="button" value="Trouve" onClick="StringLength()"/></label> 


                     </fieldset>
                </div
Ulysse Corbeil
2017-02-26

如果它是第五个文本框,则其结果数组中的索引必须为4。

另外,您的选择器是[text ='text'],我想您的意思是[type ='text'' ]。

966373533
Psi
2017-02-26