HTML从textarea获取输入并将其传递给我的Javascript函数

HTML从textarea获取输入并将其传递给我的Javascript函数,javascript,jquery,html,Javascript,Jquery,Html,我想从文本区域获取用户输入,并用下面的代码将其传递给Javascript函数,但无法使其工作。有人能帮我吗 <!DOCTYPE html> <head> <title>Testing</title> <script type="text/javascript"> function MyFunc(UserCode.value) { var syntax = esprima.parse(UserCo

我想从文本区域获取用户输入,并用下面的代码将其传递给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>

测试
函数MyFunc(UserCode.value){
var syntax=esprima.parse(UserCode.value);
document.getElementById(“demo”).innerHTML=JSON.stringify(语法);
}
请输入您的代码:

var-answer=6*7;
转换 结果


您的代码中未定义用户代码。创建一个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>

测试
函数MyFunc(textAreaId){
var value=document.getElementbyId(textAreaId).value;
var syntax=esprima.parse(值);
document.getElementById(“demo”).innerHTML=JSON.stringify(语法);
}
请输入您的代码:

var-answer=6*7;
转换 结果


首先,您试图错误地访问textarea元素。必须使用document.getElementById,如下所示:

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

JS:

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>
var-answer=6*7;
转换

结果


非常感谢!!我真的很喜欢这个,但不知怎么的,我的机器不工作
$("#convert").click(function() {
    var code = $('#code').val();
    //var code = esprima.parse(code);
    var result = JSON.stringify(code);
    $('#result').html(result);
});
<textarea rows="4" cols="50" id="code">var answer = 6 * 7;</textarea>
<button type="button" id="convert">Convert</button>
<p id="result">Result</p>