簡體   English   中英

帶有textarea內容的警報(HTML到JavaScript)

[英]Alert with a textarea content (HTML to JavaScript)

我是使用任何語言進行編碼的新手,現在正在使用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中的內容。 (它的名稱正在接收)

謝謝閱讀! 抱歉我的英語。 ^^

在textaea中添加ID

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

然后,發送ID 而不是 name

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

此代碼找不到元素descricaoLinha,因為它搜索具有ID =“ descricaoLinha ”的元素

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

你應該通過this在你onfocus處理程序:

onFocus="resetField(this);"

訪問它像:

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

這是一個演示: http//jsfiddle.net/RbUZr/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM