【问题标题】:How to reverse a string in javascript?如何在javascript中反转字符串?
【发布时间】:2015-09-17 08:34:10
【问题描述】:

我正在尝试通过 Visual Studio 2013 中的 .html 文件来学习 JavaScript。

我知道有更简单的方法可以在 JavaScript 中反转字符串,但我的主要目标是了解 html 和 JavaScript 之间的交互以提供这样的解决方案。

此外,IDE 必须是 Visual Studio,因为最终我想使用 .aspx 文件编写相同的逻辑。

所以,对于我最初的学习尝试,我正在尝试实现以下逻辑:

  • 从表单的输入标签中获取字符串,
  • 提交表单导致脚本 submit() 运行,
  • 脚本反转字符串,然后
  • 在同一个输入标签中显示反转的字符串,现在已禁用

我写的代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
    <script type="text/javascript">
        function reverseString() {
            var s = document.getElementById('reverseString').value;
            var reversed;

            for (var i = s.length - 1; i >= 0; i--) {
                reversed += s[i];
            }

            document.getElementById('reverseString').disabled = true;
            document.getElementById('reverseString').value = reversed;
        }

        function submit(form) {
            reverseString();
        }
    </script>

    <title>Play with Code</title>
</head>

<body>
    <form name="myform" onsubmit="submit();">
        Reverse String: <input type="text" id="reverseString"/><br/>
        <input type="submit" value="Submit"/>
    </form> 
</body>
</html>

它不起作用,我真的不知道如何解决它。

我尝试按照这些链接提供的说明进行调试,但未成功:

How to debug (only) JavaScript in Visual Studio?

http://www.aspsnippets.com/Articles/Debug-JavaScript-and-jQuery-using-Visual-Studio-in-Internet-Explorer-browser.aspx

请帮助我修复此代码,如果可能,请建议或指导我如何调试此类代码。

谢谢。

【问题讨论】:

标签: javascript function visual-studio-2013 visual-studio-debugging onsubmit


【解决方案1】:

这是一个带有 cmets 的工作代码来解释你做错了什么:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
    <title>Play with Code</title>
</head>
<body>
    <form name="myform" id="form">
        Reverse String: <input type="text" id="reverseString"/><br/>
        <input type="submit" value="Submit"/>
    </form>
    <script>
        function reverseString() {
            var s = document.getElementById('reverseString').value;
            // reverse should initialized as a empty String
            // to prevent adding char to "undefined" string
            var reversed = '';

            for (var i = s.length - 1; i >= 0; i--) {
                reversed += s[i];
            }

            document.getElementById('reverseString').disabled = true;
            document.getElementById('reverseString').value = reversed;
        }

        function submit(ev) {
            // preventDefault prevent the form to do his automatic
            // behavior which submit the form with a new HTTP request
            ev.preventDefault();
            reverseString();
        }

        // Attach the event to the form
        document.getElementById('form').addEventListener('submit', submit);
    </script>
</body>
</html>

【讨论】:

    【解决方案2】:

    Working Demo

    More Info on Debugging

    //HTML
    Reverse String: <input type="text" id="reverseString"/><br/>
        <input type="button" value="Submit" onClick="funcreverse()"/>
    
    //Script
     function funcreverse () {
            var s = document.getElementById('reverseString').value;
            var reversed = '';
            for (var i = s.length - 1; i >= 0; i--) {
                reversed += s[i];
            }
    
            document.getElementById('reverseString').disabled = true;
            document.getElementById('reverseString').value = reversed;
        };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 2020-10-09
      • 2014-02-26
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多