小编BeN*_*ErR的帖子

将列索引转换为相应的列字母

我需要将Google Spreadsheet列索引转换为相应的字母值,例如,给定电子表格:

在此输入图像描述

我需要这样做(这个功能显然不存在,这是一个例子):

getColumnLetterByIndex(4);  // this should return "D"
getColumnLetterByIndex(1);  // this should return "A"
getColumnLetterByIndex(6);  // this should return "F"
Run Code Online (Sandbox Code Playgroud)

现在,我不记得索引是从起点0还是起点1,无论如何,概念应该是清楚的.

我没有在气体文件上找到任何关于这个的东西..我是瞎了吗?任何的想法?

谢谢

javascript indexing google-sheets google-apps-script

66
推荐指数
6
解决办法
6万
查看次数

如果在ajax调用期间显示警报窗口会发生什么?

我只是想知道如果在执行ajax调用时,在浏览器窗口中向用户提示警报会发生什么.

比如说,我有一个ajax调用

$.ajax({
    url: ...,
    type: GET/POST,
    ...
    success: function(data){
        console.log(data);
    },
    error: ...
});
Run Code Online (Sandbox Code Playgroud)

这需要很长时间才能完成(10秒).在执行调用时,会抛出一个简单的javascript警报

alert("hello!");
Run Code Online (Sandbox Code Playgroud)

例如,如果:

  1. ajax呼叫开始
  2. ajax调用获取数据
  3. 警报显示
  4. ajax调用返回数据(警报窗口仍然打开!)

知道JS是单线程的我知道脚本执行将停止,我只是想知道如果警报窗口没有"及时"关闭,ajax调用/响应会发生什么.

我希望我足够清楚,这不是一个"虚假"的问题.谢谢

javascript ajax single-threaded

52
推荐指数
2
解决办法
3076
查看次数

[A-z0-9] +正则表达式匹配方括号

我正在努力应对以下正则表达式

[A-z0-9]+
Run Code Online (Sandbox Code Playgroud)

如果对此字符串进行测试:

||a919238[.--a]asd|
Run Code Online (Sandbox Code Playgroud)

它返回a919238[,包括方括号..我试图在regex101上输入我的测试用例以了解什么是错的,但网站正则表达式的解释没有帮助,可能我无法看到我的错误.

为什么方括号包含在结果中?

regex

50
推荐指数
3
解决办法
9538
查看次数

批处理脚本 - 对目录中的每个文件运行命令

我需要将一些xls文件转换为xlsx文件.我可以通过将此命令运行到cmd提示符(windows)中将一个xls文件成功转换为xlsx:

ssconvert inputFileName.xls outputFileName.xlsx
Run Code Online (Sandbox Code Playgroud)

(ssconvert是一个Gnumeric的命令行实用程序,可以在不同的电子表格文件格式之间进行转换)

我想编写一个批处理文件,指定目录中的FOR EACH文件运行我上面写的命令,使用当前文件名作为输入和输出文件名.

例如,如果我有这组文件:

c:\directory\file1.xls
c:\directory\file2.xls
c:\directory\file3.xls
Run Code Online (Sandbox Code Playgroud)

输出应该是

c:\directory\file1.xlsx
c:\directory\file2.xlsx
c:\directory\file3.xlsx
Run Code Online (Sandbox Code Playgroud)

所以批量伪代码应该是这样的

directory = c:\directory\
for (fileName in directory)
    ssconvert fileName.xls fileName.xlsx
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

foreach cmd batch-file ssconvert

35
推荐指数
3
解决办法
9万
查看次数

将参数传递给FileReader onload事件

我需要阅读一些由用户给出的csv文件.使用拖放div将文件传递给页面/脚本,该div处理文件删除,如下所示:

function handleFileDrop(evt) {
    evt.stopPropagation();
    evt.preventDefault();
    var files = evt.dataTransfer.files; // FileList object.
    ...
}
Run Code Online (Sandbox Code Playgroud)

我需要用csv库解析每个文件,将其转换为数组,但我还需要跟踪我正在解析的文件名.这是我用来解析每个文件的代码:

for(var x = 0; x < files.length; x++){
    var currFile = files[x];
    var fileName = currFile.name;
    var reader = new FileReader();
    reader.onload = (function(theFile){
        return function(e){
            var csvArr = CSV.csvToArray( e.target.result, ";", true );
            console.log(csvArr); 
        };
    })(currFile);   
    reader.readAsText(currFile);
}
Run Code Online (Sandbox Code Playgroud)

在此之前,一切都很好.我需要的是也将文件名传递给reader.onload事件,例如:

reader.onload = (function(theFile){
    return function(e){

       ***** I need to have fileName value HERE *****

    };
})(currFile); 
Run Code Online (Sandbox Code Playgroud)

有可能吗?我怎样才能做到这一点?在此先感谢任何帮助,最好的问候

javascript html5 filereader

20
推荐指数
1
解决办法
3万
查看次数

JAVA - 使用通过其名称获取的类(字符串值)进行强制转换

这是我的代码看起来如果我使用预定义的类:

List<MyClass> result = new ArrayList<MyClass>();
try {
    Query query = mgr.newQuery(MyClass.class);
    for(Object obj : (List<Object>) query.execute()) {
        result.add(((MyClass) obj));
    }
}
.... 
return result;
Run Code Online (Sandbox Code Playgroud)

现在我需要的是更通用的:从一个普通的类名称开始(作为一个字符串,即"TheChosenOne")我需要做同样的事情,但我无法弄清楚如何锻造部件应该做的..

只是为了举例说明我正在尝试做的事情:

String str = "TheChosenOne"; //this value may change
Class cls;
List<Object> result = new ArrayList<Object>();
try {
    if(str.equals("TheChosenOne"))
        cls = Class.forName("com.blabla.TheChosenOne");
    else if(str.equals("Rabbit"))
        cls = Class.forName("com.blabla.Rabbit");
    else if(str.equals("Batman"))
        cls = Class.forName("com.heroes.Batman");
    else
        cls = null;

    if(cls != null){
        Query query = mgr.newQuery(MyClass.class);
        for(Object obj : (List<Object>) query.execute()) {
            result.add(((???) obj)); //I need help …
Run Code Online (Sandbox Code Playgroud)

java reflection casting class

13
推荐指数
1
解决办法
2万
查看次数

option.style.display ="none"在safari中不起作用

这是我正在研究的例子:http://jsfiddle.net/4suwY/5/

HTML:

<select id="asd">
    <option>hello</option>
    <option>I'M THE CHOSEN ONE</option>
    <option>asd</option>
    <option>wer</option>
    <option>qwe</option>
</select>
Run Code Online (Sandbox Code Playgroud)

JS:

var sel = document.getElementById("asd");
var optnz = sel.getElementsByTagName("option")[1];
sel.value = optnz.value;
optnz.style.display = "none";
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它适用于chrome,但它在safari中不起作用.它应该做什么,当你点击下拉菜单时隐藏"我'CHOSEN ONE"选项.

这是我做的另一个测试:http://jsfiddle.net/4suwY/11/

相同的HTML,这是JS:

var sel = document.getElementById("asd");
var opt = document.createElement("option");
opt.innerHTML = "YAYA";
opt.value = "YAYA";
sel.appendChild(opt);
sel.value = "YAYA";
opt.style.display = "none";
Run Code Online (Sandbox Code Playgroud)

无论如何,我需要做的是显示一个选项(当前),并在打开下拉菜单时隐藏给用户,这样他就无法选择它.

有什么建议/解决方法吗?我没有看到任何错误.Safari出了什么问题?我应该改变做法吗?Jquery似乎没有帮助.


EDITS:

我需要在dropdownmenu中隐藏选项,但同时我需要将此选项"value"显示为所选值!例如,"关闭"下拉列表将显示值"我是选择一个",但如果我点击并打开菜单,唯一可见的选项将是"你好,asd,wer,qwe"..

html javascript css html-select

11
推荐指数
1
解决办法
2万
查看次数

html()vs innerHTML jquery/javascript&XSS攻击

我在自己的代码上测试xss攻击.下面的示例是一个简单的框,用户可以在其中键入他想要的任何内容.按下"测试!"后 按钮,JS会将输入字符串显示为两个div.这是我更好地解释我的问题的一个例子:

<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    function testIt(){
        var input = document.getElementById('input-test').value;
        var testHtml = document.getElementById('test-html');
        var testInnerHTML = document.getElementById('test-innerHTML');
        $(testHtml).html(input);
        testInnerHTML.innerHTML = input;
    }
</script>
<head>this is a test</head>
<body>  
    <input id="input-test" type="text" name="foo" />
    <input type="button" onClick="testIt();" value="test!"/>
    <div id="test-html">
    </div>
    <div id="test-innerHTML">
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

如果您尝试将其复制到.html文件并运行它,它将正常工作,但如果您尝试输入<script>alert('xss')</script>,将只抛出一个警告框:`test-html'div内的一个(带有html()函数).

我真的不明白为什么会发生这种情况,而且,用firebug检查代码会给我这个结果(在注入脚本之后)

<body>
this is a test
<input id="input-test" type="text" name="foo">
<input type="button" value="test!" onclick="testIt();">
<div id="test-html"> </div>
<div id="test-innerHTML">
  <script>
    alert('xss')
  </script>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)

你可以看到test-htmldiv是空的,而test-innerhtmldiv是脚本.有人可以告诉我为什么吗?是因为html()对脚本注入或类似的东西更安全吗? …

html javascript xss jquery input

9
推荐指数
2
解决办法
2万
查看次数

HTML5数据库 - 事务VS executeSql回调顺序

谈到HTML5数据库(sqlite),我最近使用了两者transactionexecuteSql函数的成功/错误回调.我发现对于这两个函数,成功/错误回调顺序是相反的,例如:

交易

database.transaction(function(tx){
    //--- do something
}, function(){
    //--- error handling
}, function(){
    //--- success handling
});
Run Code Online (Sandbox Code Playgroud)

的ExecuteSQL

tx.executeSql(sqlStatement, [], successCallback, errorCallback);
Run Code Online (Sandbox Code Playgroud)

可能知道它并不是一件重要的事情,但是我想知道是否存在这种颠倒顺序的原因..恕我直言,为每个函数设置相同的回调顺序会很有用,所以当你学会了如何使用一个,你知道其他所有人的工作方式!

在此先感谢,问候

javascript html5 callback

9
推荐指数
1
解决办法
2432
查看次数

HTML输入值属性 - 相同的输入,(显然)不同的结果

在通过输入框进行编辑后,value属性如何适用于html输入标记?

例:

<input type="text" name="test" id="test" value="Hello world" />
Run Code Online (Sandbox Code Playgroud)

这将显示一个带有"Hello world"文本的输入框.如果我编辑它在渲染的文本框中输入一个新的字符串(而不是通过原始代码),然后尝试使用像这样的js获取他的值

alert(document.getElementById('test').value)
Run Code Online (Sandbox Code Playgroud)

我会正确地获得新值.但是如果我通过chrome开发人员工具(或者萤火虫或你喜欢的任何东西)检查元素,我会看到与开头一样的"Hello world"字符串.

哪两个是正确的?js值或铬检查员?

这是示例小提琴,这是一个截图在此输入图像描述

我试图找到这个问题的解决方案时出现了这个问题:经典店铺情况,我有一个带X输入标签的表,用户可以输入X项的数量.我需要检查自每个输入的前一个值以来是否有一个或多个值发生了变化:如果OLD和NEW val之间的比较返回值已更改,我需要更新顺序.否则无需保存/更新.

我以为我可以使用attr."值"存储输入的"旧"值,但可能不是最佳选择..

谁能解释这种行为?这只是一个"刷新"问题还是还有别的东西?

html javascript input

7
推荐指数
2
解决办法
3795
查看次数