带有textarea内容的警报(HTML到JavaScript)

时间:2013-06-07 01:53:49

标签: javascript html

我是使用任何语言进行编码的新手,现在正在使用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内容。

只是为了强调,我想要文本区域中的内容。 (正确接收它的名称)

感谢阅读!抱歉我的英语。 ^^

3 个答案:

答案 0 :(得分:5)

在您的textaea

中添加ID
<textarea id="descricaoLinha" name="descricaoLinha" onFocus="resetField('descricaoLinha')"> TEXT-TEXT-TEXT</textarea>

然后,发送ID 代替 name

alert(d.getElementById(field).value);

此代码找不到元素 descricaoLinha ,因为它搜索的元素具有 ID =“ descricaoLinha

答案 1 :(得分:2)

您的“字段”只是一个字符串,而不是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控制台

答案 2 :(得分:0)

您应该在this处理程序中传递onfocus

onFocus="resetField(this);"

访问它:

alert("It's entering the function."); 
alert(field.name);                       
alert(field.value);

这是一个演示:http://jsfiddle.net/RbUZr/