Javascript -一个函数中的多个任务无法工作
Javascript - multiple tasks in one function not working
我得到了一个脚本,从表单输入修剪http或https。
这是我的脚本:
function MakeLinkSafe(){
var f = document.getElementById('f')
str = trim(f.value);
if(str.substr(0, 7) == 'http://'){
f.value = str.substr(7);
}
else if(str.substr(0, 8) == 'https://'){
f.value = str.substr(8);
}
return true;
var fb = document.getElementById('fb')
str = trim(fb.value);
if(str.substr(0, 7) == 'http://'){
fb.value = str.substr(7);
}
else if(str.substr(0, 8) == 'https://'){
fb.value = str.substr(8);
}
return true;
}
当我把一个url在我的"f"输入,而我离开我的"fb"空,反之亦然,它的工作。但当我在两个输入中都输入url时。这行不通。
我的代码有问题吗?谢谢你
这是因为在检查"f"元素之后有一个返回语句…
修改代码如下:
function MakeLinkSafe() {
var checkF = function () {
var f = document.getElementById('f');
str = trim(f.value);
if (str.substr(0, 7) == 'http://') {
f.value = str.substr(7);
}
else if (str.substr(0, 8) == 'https://') {
f.value = str.substr(8);
}
return true;
}
var checkFB = function () {
var fb = document.getElementById('fb');
str = trim(fb.value);
if (str.substr(0, 7) == 'http://') {
fb.value = str.substr(7);
}
else if (str.substr(0, 8) == 'https://') {
fb.value = str.substr(8);
}
return true;
}
return checkF() && checkFB();
}
当然,你可以创建一个接受id的函数来利用适当的函数,就像上面提到的mrida…下面这些行可能会做:
function MakeLinkSafe() {
var check = function (id) {
var element = document.getElementById(id);
str = trim(element.value);
if (str.substr(0, 7) == 'http://') {
element.value = str.substr(7);
}
else if (str.substr(0, 8) == 'https://') {
element.value = str.substr(8);
}
return true;
}
return check('f') && check('fb');
}
您的代码片段无法访问
var fb = document.getElementById('fb')
str = trim(fb.value);
if(str.substr(0, 7) == 'http://'){
fb.value = str.substr(7);
}
else if(str.substr(0, 8) == 'https://'){
fb.value = str.substr(8);
}
return true;
在到达上述代码之前,函数已经退出,返回值为true。
一种方法是这样做(这段代码将修复你的链接和警报为真,以防两者都是安全链接。
function MakeLinkSafe(linkid){
var f = document.getElementById(linkid)
str = trim(f.value);
if(str.substr(0, 7) == 'http://'){
f.value = str.substr(7); return true;
}
if(str.substr(0, 8) == 'https://'){
f.value = str.substr(8); return true;
}
return false;
}
var f = MakeLinkSafe('f');
var fb = MakeLinkSafe('fb');
if(f&&fb)alert(true);else alert(false);
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 在基于 SQS 的工作人员上设置将来的任务
- 如何使单选按钮工作两个任务
- 节点群集未将任务分派给另一个可用的工作线程
- 咕噜,任务单独工作,但不分组工作
- Gulp+Browserify任务不工作(没有输出)
- Gulp任务不同步工作
- 约曼发电机角度构建任务工作不正常
- Javascript -一个函数中的多个任务无法工作
- Gulp任务没有完成,但工作正常
- 使用angular-google-maps指令在“grunt服务”期间工作.但在默认的grunt任务期间不会
- RegEx来验证工作日志字段模式(以获取用户在任务上工作的时间)
- 为什么我不做我的grunt任务工作- emailBuilder