强制文本框或变量的长度
Forcing length of txt box or variable
我有一些 javascript 代码。我想进行一些错误检查,但不知道从哪里开始。
我想,如果 val1 的内容长度不正好是 21 个字符,则停止脚本,或者最好还是给一个消息框来说明这一事实。
或者可以强制输入框包含 21 个字符?
抱歉,这是一个愚蠢的问题,但我是新手,仍在学习中。
我将输入框的大小设置为 21,但这只会增加维度,因此仍然可以输入比这更多或更少的字符。
我想也许某种 if 语句可以做到这一点,但不知道该怎么做,我的尝试没有成功。
<script type='text/javascript'>
function screenshot(){
html2canvas(document.body).then(function(canvas) {
// Get base64URL
var base64URL = canvas.toDataURL('image/jpeg').replace('image/jpeg', 'image/octet-stream');
var val1 = $('#datepicker').val();
// AJAX request
$.ajax({
url: 'ajaxfile.php',
type: 'post',
//data: {image: base64URL, name: datepicker},
data: {image: base64URL, datepicker: val1},
success: function(data){
console.log('Upload successfully');
}
});
});
}
</script>
无论我怎么尝试,它都停止了脚本的工作,即使 val1 是 21 个字符。
这是我在获得一些额外代码后尝试的(谢谢)。但不幸的是它对我不起作用(没有消息和脚本不会将图像保存到服务器)。
<script type='text/javascript'>
function screenshot(){
html2canvas(document.body).then(function(canvas) {
// Get base64URL
var base64URL = canvas.toDataURL('image/jpeg').replace('image/jpeg', 'image/octet-stream');
var val1 = $('#datepicker').val();
var val1_length = val1.length;
if(val1_length != 21)
{
alert("please enter 21 character ....");
}
else
{
// AJAX request
$.ajax({
url: 'ajaxfile.php',
type: 'post',
//data: {image: base64URL, name: datepicker},
data: {image: base64URL, datepicker: val1},
success: function(data){
console.log('Upload successfully');
}
});
});
}
}
</script>
我已经解决了这个问题。
最后我决定在 JavaScript 代码之外,在 ajax 代码之外使用一个函数。
这是一个更优雅的解决方案,imo,并将确保用户知道需要输入哪些数据(以及使用日期选择器日历)。
function ValidateDate()
{
var datepicker = document.getElementById('datepicker');
var datepicker = document.getElementById('datepicker').value;
var FullDate = 21;
if (datepicker.length !== FullDate) {
{
alert("The Date Must Have a Start *and* End Date. Use the Calendar to Ensure this. Do Not enter any other text in the Box!");
document.getElementById("datepicker").focus();
return false;
}
} else {
screenshot();
}
}
很简单。首先找到 val1 变量的长度
>> var val1_length = val1.value.length;
如果条件检查长度是否为 21,则使用
if(val1_length != 21)
{
alert("please enter 21 character ....");
}
else
{
// Your code if value contain 21 charcter
}
您缺少的是对 val1
值的简单检查,因此脚本已完全执行。这就是您在 JS 中寻找的内容:
var val1 = $('#datepicker').val();
if (val1.length !== 21) {
// AJAX request
$.ajax({
url: 'ajaxfile.php',
type: 'post',
//data: {image: base64URL, name: datepicker},
data: {image: base64URL, datepicker: val1},
success: function(data){
console.log('Upload successfully');
}
})}
另一种方法是,如果 #datepicker
输入是 text
类型,您可以在该元素上设置 maxlength
属性,这样就不可能输入比设置更多的字符。
我已经解决了这个问题。最后我决定在 JavaScript 代码之外,在 ajax 代码之外使用一个函数。这是一个更优雅的解决方案,imo,并将确保用户知道需要输入哪些数据(以及使用日期选择器日历)。
function ValidateDate()
{
var datepicker = document.getElementById('datepicker').value;
var FullDate = 21;
if (datepicker.length !== FullDate) {
{
alert("The Date Must Have a Start *and* End Date. Use the Calendar to Ensure this. Do Not enter any other text in the Box!");
document.getElementById("datepicker").focus();
return false;
}
} else {
screenshot();
}
}
我有一些 javascript 代码。我想进行一些错误检查,但不知道从哪里开始。 我想,如果 val1 的内容长度不正好是 21 个字符,则停止脚本,或者最好还是给一个消息框来说明这一事实。 或者可以强制输入框包含 21 个字符? 抱歉,这是一个愚蠢的问题,但我是新手,仍在学习中。
我将输入框的大小设置为 21,但这只会增加维度,因此仍然可以输入比这更多或更少的字符。 我想也许某种 if 语句可以做到这一点,但不知道该怎么做,我的尝试没有成功。
<script type='text/javascript'>
function screenshot(){
html2canvas(document.body).then(function(canvas) {
// Get base64URL
var base64URL = canvas.toDataURL('image/jpeg').replace('image/jpeg', 'image/octet-stream');
var val1 = $('#datepicker').val();
// AJAX request
$.ajax({
url: 'ajaxfile.php',
type: 'post',
//data: {image: base64URL, name: datepicker},
data: {image: base64URL, datepicker: val1},
success: function(data){
console.log('Upload successfully');
}
});
});
}
</script>
无论我怎么尝试,它都停止了脚本的工作,即使 val1 是 21 个字符。
这是我在获得一些额外代码后尝试的(谢谢)。但不幸的是它对我不起作用(没有消息和脚本不会将图像保存到服务器)。
<script type='text/javascript'>
function screenshot(){
html2canvas(document.body).then(function(canvas) {
// Get base64URL
var base64URL = canvas.toDataURL('image/jpeg').replace('image/jpeg', 'image/octet-stream');
var val1 = $('#datepicker').val();
var val1_length = val1.length;
if(val1_length != 21)
{
alert("please enter 21 character ....");
}
else
{
// AJAX request
$.ajax({
url: 'ajaxfile.php',
type: 'post',
//data: {image: base64URL, name: datepicker},
data: {image: base64URL, datepicker: val1},
success: function(data){
console.log('Upload successfully');
}
});
});
}
}
</script>
我已经解决了这个问题。 最后我决定在 JavaScript 代码之外,在 ajax 代码之外使用一个函数。 这是一个更优雅的解决方案,imo,并将确保用户知道需要输入哪些数据(以及使用日期选择器日历)。
function ValidateDate()
{
var datepicker = document.getElementById('datepicker');
var datepicker = document.getElementById('datepicker').value;
var FullDate = 21;
if (datepicker.length !== FullDate) {
{
alert("The Date Must Have a Start *and* End Date. Use the Calendar to Ensure this. Do Not enter any other text in the Box!");
document.getElementById("datepicker").focus();
return false;
}
} else {
screenshot();
}
}
很简单。首先找到 val1 变量的长度
>> var val1_length = val1.value.length;
如果条件检查长度是否为 21,则使用
if(val1_length != 21)
{
alert("please enter 21 character ....");
}
else
{
// Your code if value contain 21 charcter
}
您缺少的是对 val1
值的简单检查,因此脚本已完全执行。这就是您在 JS 中寻找的内容:
var val1 = $('#datepicker').val();
if (val1.length !== 21) {
// AJAX request
$.ajax({
url: 'ajaxfile.php',
type: 'post',
//data: {image: base64URL, name: datepicker},
data: {image: base64URL, datepicker: val1},
success: function(data){
console.log('Upload successfully');
}
})}
另一种方法是,如果 #datepicker
输入是 text
类型,您可以在该元素上设置 maxlength
属性,这样就不可能输入比设置更多的字符。
我已经解决了这个问题。最后我决定在 JavaScript 代码之外,在 ajax 代码之外使用一个函数。这是一个更优雅的解决方案,imo,并将确保用户知道需要输入哪些数据(以及使用日期选择器日历)。
function ValidateDate()
{
var datepicker = document.getElementById('datepicker').value;
var FullDate = 21;
if (datepicker.length !== FullDate) {
{
alert("The Date Must Have a Start *and* End Date. Use the Calendar to Ensure this. Do Not enter any other text in the Box!");
document.getElementById("datepicker").focus();
return false;
}
} else {
screenshot();
}
}