javascript - jquery 字符串的所有排列

标签 javascript jquery html

我已经从 stackoverflow 上的另一个用户那里获得了字符串所有排列的代码,我正在尝试使其在我的网页中工作。这段代码有问题吗?当我尝试提交单词时,我在 javascript 控制台中收到错误。该错误会短暂闪烁,因此我无法读取它。

$(document).ready(function() {
    $('form#anagram').submit(function(event) {


function findAllPermutations(str, index, buffer) {
    if (typeof str == "string") {
        str = str.split("") }; 
    if (typeof index == "undefined") {
        index = 0 };
    if (typeof buffer == "undefined") {
        buffer = [] };
    if (index >= str.length) {
        return buffer };
    for (var i = index; i < str.length; i++) {
        buffer.push(ToggleLetters(str, index, i));
    }
    return FindAllPermutations(str, index + 1, buffer);
}

function ToggleLetters(str, index1, index2) {
    if (index1 != index2) {
        var temp = str[index1]
        str[index1] = str[index2]
        str[index2] = temp
    };
    return str.join("");
}



        list = $('input#word').val();
        $('#resulttext').append("<p>" + findAllPermutations(list) + "</p>")
        event.preventDefault();
    });
});

这是 HTML:

<!DOCTYPE html>
<html>
<head>
    <link href="css/bootstrap.css" rel="stylesheet" type="text/css">
    <link href="css/styles.css" rel="stylesheet" type="text/css">
    <script src="js/jquery-1.11.1.js"></script>
    <script src="js/scripts3.js"></script>
    <title>Anagram finder</title>
</head>
<body>
    <div class="container">
        <div class="band">
            <h1>Anagram Finder</h1>
        </div>

        <form id="anagram">
            <div class="form-group">
                <label for="word">Your Word</label>
                    <input id="word" type="text">

            </div>

            <button type="submit" class="btn">Find!</button>
        </form>
        <div id="resulttext">
        </div>

    </div>
</body>
</html>

最佳答案

函数名称有误,并且 event.preventDefault() 位于函数末尾,因此刷新页面时您无法看到错误。

尝试一下:-

<!DOCTYPE html>

    <script src="jquery.js"></script>

    <title>Anagram finder</title>
</head>

<body>
    <script>
        $(document).ready(function() {
            $('form#anagram').submit(function(event) {

                event.preventDefault();
                function findAllPermutations(str, index, buffer) {
                    if (typeof str == "string") {
                        str = str.split("") }; 
                    if (typeof index == "undefined") {
                        index = 0 };
                    if (typeof buffer == "undefined") {
                        buffer = [] };
                    if (index >= str.length) {
                        return buffer };
                    for (var i = index; i < str.length; i++) {
                        buffer.push(ToggleLetters(str, index, i));
                    }
                    return findAllPermutations(str, index + 1, buffer);
                }

                function ToggleLetters(str, index1, index2) {
                    if (index1 != index2) {
                        var temp = str[index1]
                        str[index1] = str[index2]
                        str[index2] = temp
                    };
                    return str.join("");
                }



                list = $('input#word').val();
                $('#resulttext').append("<p>" + findAllPermutations(list) + "</p>")

            });
        });
    </script>
    <div class="container">
        <div class="band">
            <h1>Anagram Finder</h1>
        </div>

        <form id="anagram">
            <div class="form-group">
                <label for="word">Your Word</label>
                <input id="word" type="text">

            </div>

            <button type="submit" class="btn">Find!</button>
        </form>
        <div id="resulttext">
        </div>

    </div>
</body>
</html>

关于javascript - jquery 字符串的所有排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24221881/

相关文章:

javascript - HTML 输入框自定义步骤按钮

javascript - React 路由器和嵌套布局

javascript - 表的每一行上的提交按钮,将该行的数据插入数据库

javascript - 使用 ul li 的二级菜单项不起作用

javascript - 使用预加载在悬停时交换图像

javascript - angularjs如果在输入字段内单击则显示div,如果在输入字段外单击则隐藏

javascript - Safari 中使用 .css jQuery 的问题

javascript - AngularJS 中的 Defer 和 Promise 无法正常工作

javascript - OpenLayers.Control.Scale.template - 它是如何工作的以及它是否工作?

javascript - 如何在不重新加载页面的情况下重置 Rhinoslider Jquery 插件?