Я получил код для всех перестановок строки от другого пользователя в 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>
findAllPermutations
должно бытьFindAllPermutations
(с большой буквы F)