我是使用任何语言进行编码的新手,现在正在使用
HTML,PHP和
JavaScript工作(尝试).我的难点是通过JavaScript文件中的警报显示来自HTML文件的textarea中的信息. HTML代码是这样的:
<head> <title> My Form</title> <script type= "text/javascript" src ="./JavaScript/validaLinha.js"></script> </head> <body> <form name="Linhas" method="POST" action="Linhas-p.php"> <textarea name="descricaoLinha" onFocus="resetField('descricaoLinha')"> TEXT-TEXT-TEXT</textarea> </form> </body>
正如您在HTML代码中看到的,我尝试将textarea的名称发送到名为“resetField”的JavaScript函数.让我们看看“resetField”的作用:
function resetField(field){ d = document.Linhas; alert("It's entering the function."); //ANSWER = It's entering the function. alert(field); //ANSWER = descricaoLinha alert(d.field.value); //ANSWER = Nothing. alert(d.getElementById(field).value); //ANSWER = Nothing. }
我无法获得设置为textarea值的信息!该事件正在调用该函数(第一个警报显示),该函数正在接收该字符串(第二个警报显示文本区域的名称),但是我需要的其他两个没有显示.我已经尝试更改警报的顺序,因为如果出现错误,那些不会继续读取代码的JavaScript内容.
只是为了强调,我想要textarea中的内容. (它的名称正在接收)
谢谢阅读!抱歉我的英语. ^^
解决方法
你的“字段”只是一个字符串,而不是一个javascript对象,当然它没有name属性;
它类似于d = document.linha;
您必须通过其id属性获取DOM元素:
d = document.getElementById(“Linha”);
编辑:您还需要将id属性添加到您的字段
<textarea id="descricaoLinha" name="descricaoLinha" onFocus="resetField('descricaoLinha')"> ...
一种解决方案是:将JavaScript函数更改为
function resetField(fieldId) { var field = document.getElementById(fieldId); alert(field); // object alert(field.value); // text field value // Do whatever you want with the field object here }
您应该打开控制台并使用console.log(‘output’)而不是使用alert()进行调试;您可以通过Ctrl Shift K打开Firefox控制台
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。