簡體   English   中英

HTML從textarea獲取輸入並將其傳遞給我的Javascript函數

[英]HTML get input from textarea and pass it to my Javascript function

我想從文本區域獲取用戶輸入,並使用以下代碼將其傳遞給我的Javascript函數,但無法使其正常工作。 有人可以幫我嗎?

<!DOCTYPE html>

<head>
    <title>Testing</title>
    <script type="text/javascript">
    function MyFunc(UserCode.value) {
        var syntax = esprima.parse(UserCode.value);
        document.getElementById("demo").innerHTML = JSON.stringify(syntax);
    }
    </script>
    <script src="esprima.js"></script>
    <script src="parse.js"></script>
</head>

<body>
    <label>Please enter your code:</label>
    <br>
    <textarea rows="4" cols="50" id="UserCode">
var answer = 6 * 7;
    </textarea>

    <br>
    <button type="button" onclick="MyFunc(UserCode.value)">Convert</button>
    <p id="demo">Result</p>
</body>

</html>

您的代碼中未定義UserCode 創建具有id的元素不會神奇地使具有該名稱的javascript變量。 您必須以與demo段相同的方式獲得對該元素的引用:

<!DOCTYPE html>

<head>
    <title>Testing</title>
    <script type="text/javascript">
    function MyFunc(textAreaId) {
        var value = document.getElementbyId(textAreaId).value;
        var syntax = esprima.parse(value);
        document.getElementById("demo").innerHTML = JSON.stringify(syntax);
    }
    </script>
    <script src="esprima.js"></script>
    <script src="parse.js"></script>
</head>

<body>
    <label>Please enter your code:</label>
    <br>
    <textarea rows="4" cols="50" id="UserCode">
var answer = 6 * 7;
    </textarea>

    <br>
    <button type="button" onclick="MyFunc('UserCode')">Convert</button>
    <p id="demo">Result</p>
</body>

</html>

首先,您嘗試錯誤地訪問textarea元素。 您必須使用document.getElementById,如下所示:

<button type="button" onclick="MyFunc(document.getElementById('UserCode').value)">Convert</button>

其次,您定義的函數不正確。 您的函數應如下所示:

function MyFunc(text) {
    var syntax = esprima.parse(text);
    document.getElementById("demo").innerHTML = JSON.stringify(syntax);
}

示例: http//jsfiddle.net/3ackg/

JS:

$("#convert").click(function() {
    var code = $('#code').val();
    //var code = esprima.parse(code);
    var result = JSON.stringify(code);
    $('#result').html(result);
});

HTML:

<textarea rows="4" cols="50" id="code">var answer = 6 * 7;</textarea>
<button type="button" id="convert">Convert</button>
<p id="result">Result</p>

暫無
暫無

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

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