javascript输出未在html中显示

时间:2017-12-05 23:07:46

标签: javascript html string

我正在尝试编写代码,从任何字符串URL中删除一些特殊字符,然后通过html显示已清理的字符串。

JavaScript有效,但我无法在浏览器中显示结果。

代码的重点是让某人输入输入,然后清理输入,然后将结果插入“result1”和/或“result2”

因此,当页面加载并且用户在“myTextarea”中键入内容并单击按钮时,cleanupurl(x)应该运行。

请帮忙;(

到目前为止

代码

<!DOCTYPE html>
    <html>
    <head>
        <title>Clean Strings</title>
    </head>
        <body>
            <div id="display-area" >  
                <textarea placeholder="insert URL here :)" id="myTextarea">.      
                </textarea>
                <button class = 'btn btn-default' id="demo" onclick=“cleanupurl(myTextarea.text())> Cleanup URL</button>
            </div>

            <div id ="result1">
                <p></p>
            </div>

            <div id ="result2">
                <p></p>
            </div>
        </body>
    </html>
   <script>
    var splitstring = [''];
    var finaloutput = ''; var i = 0;

    function cleanupurl(urlstring) {


        //==========================================//
        urlstring = urlstring.replace(/%21/gi, '!'); 
        urlstring = urlstring.replace(/%23/gi, '#');
        urlstring = urlstring.replace(/%24/gi, '$');
        urlstring = urlstring.replace(/%26/gi, '&');

        //==========================================//
        splitstring = urlstring.split('http://');
        document.getElementById("result1").innerHTML =  cleanurloutput1();
        //return 
    }

    function cleanurloutput1(){
    return splitstring[1];
        }

    function cleanurloutput2(){
    return splitstring[2];
        }

        //document.getElementById("result1").innerHTML = cleanurloutput1();

        var x = document.getElementById("myTextarea").value;
        cleanupurl(x);



    </script>

2 个答案:

答案 0 :(得分:2)

您的onclick正在传递myTextarea.text(),而元素myTextArea没有text方法(请检查您的浏览器控制台是否有错误)。< / p>

使用myTextarea.value代替

<button class='btn btn-default' id="demo" onclick=“cleanupurl( myTextarea.value ) > Cleanup URL</button>  

答案 1 :(得分:0)

所以我在使用调试工具在浏览器中运行代码时遇到的第一个问题是:

  • 我发现你包含了非法字符这是一个字符(),它看起来像是双引号,但我确信它有不同的ASCII值。我在这一点上找到了它 “cleanupurl(myTextarea.text())

我完全重写了这一行,看起来像这样:

&#13;
&#13;
<button class = 'btn btn-default' id="demo" onclick="cleanupurl();"> Cleanup URL</button>
&#13;
&#13;
&#13;

然后我对您的javascript进行了此更改.... Viola 您的代码正常运行

    function cleanupurl() {

    var urlstring = document.getElementById('myTextarea').value;