将表单输入更改为 JavaScript 提示符
Changing form input to JavaScript prompt
我有一个函数可以检查在文本输入中输入的单词是否是回文:
function Palindrome() {
var revStr = "";
var str = document.getElementById("str").value;
var i = str.length;
for (var j = i; j >= 0; j--) {
revStr = revStr + str.charAt(j);
}
if (str == revStr) {
alert(str + " is a palindrome");
} else {
alert(str + " is not a palindrome");
}
}
<form>
Enter a String or Number:
<input type="text" id="str" name="string" />
<br />
<input type="submit" value="Check" onclick="Palindrome();" />
</form>
我希望提示用户输入单词,而不是将单词输入文本输入,所以我更改了
var str = document.getElementById("str").value;
到
var str = prompt("Enter a string or number:")
但是提示没有触发。
为什么系统没有提示我输入字词?
您需要在脚本末尾调用 Palindrome()
。目前,Palindrome
仅在您单击 submit
:
时触发
<script type="text/javascript">
function Palindrome() {
var revStr = "";
var str = prompt("Enter a string or number:")
var i = str.length;
for(var j=i; j>=0; j--) {
revStr = revStr+str.charAt(j);
}
if(str == revStr) {
alert(str+" is a palindrome");
} else {
alert(str+" is not a palindrome");
}
}
Palindrome()
</script>
如果您使用的是提示,则不需要该表格,还有一种快速递归的方法可以找到回文(尽管不如 Andy 引用的方法有效)。我将它添加到您的(工作版本)中仅供参考。
试试这个..
function isPalindrome(x) {
return x.length <= 1 ? true : (x.charAt(0) != x.charAt(x.length - 1) ? false : isPalindrome(x.slice(1, -1)))
}
function Palindrome(str) {
var revStr = "";
// var str = document.getElementById("str").value;
var i = str.length;
for(var j=i; j>=0; j--) {
revStr = revStr+str.charAt(j);
}
if(str == revStr) {
alert(str+" is a palindrome");
} else {
alert(str+" is not a palindrome");
}
}
var str = prompt("Enter a string or number:")
Palindrome(str)
if (isPalindrome(str)){
alert('isP: ' +str+" is a palindrome");
} else{
alert('isP: ' +str+" is not a palindrome");
}
我有一个函数可以检查在文本输入中输入的单词是否是回文:
function Palindrome() {
var revStr = "";
var str = document.getElementById("str").value;
var i = str.length;
for (var j = i; j >= 0; j--) {
revStr = revStr + str.charAt(j);
}
if (str == revStr) {
alert(str + " is a palindrome");
} else {
alert(str + " is not a palindrome");
}
}
<form>
Enter a String or Number:
<input type="text" id="str" name="string" />
<br />
<input type="submit" value="Check" onclick="Palindrome();" />
</form>
我希望提示用户输入单词,而不是将单词输入文本输入,所以我更改了
var str = document.getElementById("str").value;
到
var str = prompt("Enter a string or number:")
但是提示没有触发。
为什么系统没有提示我输入字词?
您需要在脚本末尾调用 Palindrome()
。目前,Palindrome
仅在您单击 submit
:
<script type="text/javascript">
function Palindrome() {
var revStr = "";
var str = prompt("Enter a string or number:")
var i = str.length;
for(var j=i; j>=0; j--) {
revStr = revStr+str.charAt(j);
}
if(str == revStr) {
alert(str+" is a palindrome");
} else {
alert(str+" is not a palindrome");
}
}
Palindrome()
</script>
如果您使用的是提示,则不需要该表格,还有一种快速递归的方法可以找到回文(尽管不如 Andy 引用的方法有效)。我将它添加到您的(工作版本)中仅供参考。 试试这个..
function isPalindrome(x) {
return x.length <= 1 ? true : (x.charAt(0) != x.charAt(x.length - 1) ? false : isPalindrome(x.slice(1, -1)))
}
function Palindrome(str) {
var revStr = "";
// var str = document.getElementById("str").value;
var i = str.length;
for(var j=i; j>=0; j--) {
revStr = revStr+str.charAt(j);
}
if(str == revStr) {
alert(str+" is a palindrome");
} else {
alert(str+" is not a palindrome");
}
}
var str = prompt("Enter a string or number:")
Palindrome(str)
if (isPalindrome(str)){
alert('isP: ' +str+" is a palindrome");
} else{
alert('isP: ' +str+" is not a palindrome");
}