我正在尝试从文本框中获取用户输入的字符串。检查该字符串的长度,如果字符串超过给定的数字,则对其执行切片操作。
这是我提出的,但我的代码什么也没做。检查控制台,没有给出错误。
HTML:
<form id="slice">
Enter a pharse:<input type="text" id="text_box_2"><br>
<input type="button" value="slice" onclick="Slice()">
Result: <input type="text" id="slice_result"><br>
</form>
Javascript功能:
function Slice(){
var UserString = document.getElementById("text_box_2").value;
var UserStringValue = UserString.length;
var Result = Userstring.slice(1,6);
if (UserStringValue > 6){
document.getElementById("Slice_result").value = Result;
}
else{
alert("Please enter a longer phrase.")
}
}
我出错的地方或地点?
答案 0 :(得分:2)
粗略阅读您的代码。这似乎是由这条线造成的
var Result = Userstring.slice(1,6);
还有这个
document.getElementById("Slice_result").value = Result
应该是
var Result = UserString.slice(1,6);
和
document.getElementById("slice_result").value = Result
答案 1 :(得分:2)
注意区分大小写。
此:
var Result = Userstring.slice(1,6);
应该使用前面代码中定义的UserString
(大写&#34; S&#34;)。
接下来,输入ID应全部为小写slice_result
,以匹配HTML,但您的代码使用不同的大小写:
document.getElementById("Slice_result")
这里有working JSBin这些修复程序。
编辑:正如JaromandaX在评论中提到的,如果你想取前6个字符,你应该使用slice(0, 6)
。
答案 2 :(得分:-2)
通常使用以下
var Value = $('#input_id').val();
将为您提取所需的信息。
您还可以为切片函数设置参数,并在运行onclick()时传入值;
我还注意到slice()是一个当前的js函数,虽然你对大写'S'的实现有些不同,但更改一下这个名称可能是更好的做法。