小编Kal*_*ghn的帖子

在 JavaScript 中按换行符和制表符拆分文本文件

我正在加载这样的文本文件...

Cue         Target      Info      Group
CONTACTS    FRIENDS     genuine   Group1
EXECUTIVE   PRODUCER    genuine   Group1
Run Code Online (Sandbox Code Playgroud)

通过具有此功能的 jQuery ...

var stimuliArray = "";
jQuery.get("Words1.txt", function(data){
  stimuliArray = data.split("\n")
});
Run Code Online (Sandbox Code Playgroud)

这可以很好地按每个新行拆分制表符分隔的文件...

Cue Target  Info Group,CONTACTS FRIENDS genuine Group1,EXECUTIVE PRODUCER   genuine Group1
Run Code Online (Sandbox Code Playgroud)

现在我也可以修改它以按标签拆分...

var stimuliArray = "";
jQuery.get("Words1.txt", function(data){
  stimuliArray = data.split("\t")
});
Run Code Online (Sandbox Code Playgroud)

它会给出这个结果......

Cue,Target,Info,Group CONTACTS,FRIENDS,genuine,Group1 
EXECUTIVE,PRODUCER,genuine,Group1 
Run Code Online (Sandbox Code Playgroud)

我希望输出像我的原始文件一样......

Cue         Target      Info      Group
CONTACTS    FRIENDS     genuine   Group1
EXECUTIVE   PRODUCER    genuine   Group1
Run Code Online (Sandbox Code Playgroud)

...这样我就可以访问这样的数据(例如,数组 [2][1])并且输出将是 ....

PRODUCER
Run Code Online (Sandbox Code Playgroud)

我试图在 jQuery 函数之后添加一行代码以按制表符或新行拆分,但它根本不起作用......

stimuliArray = stimuliArray.split("\t");
Run Code Online (Sandbox Code Playgroud)

使用这种代码,数组保持不变。

我只希望文件可以像普通数组一样访问,这样我就可以逐行访问信息,并且可以在我选择的任何索引中访问。感谢您的任何提示!

javascript arrays jquery

5
推荐指数
1
解决办法
3880
查看次数

将div设置为隐藏,延时后可见

我试图在 X 时间后(也许甚至在随机时间之后,但现在我们只做固定时间)在黑色背景上出现一个黄色方块。

function initialSetup() {
  if (document.getElementById("yellow") != null) {
    document.getElementById('yellow').style.visibility = 'hidden';
    setTimeout("document.getElementById('yellow').style.visibility = 'visible'", 2000);
  }
Run Code Online (Sandbox Code Playgroud)
.box {
  width: 50px;
  height: 50px;
}
.yellow {
  background: yellow;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body {
  background-color: black;
}
Run Code Online (Sandbox Code Playgroud)
<div id="yellow" class="box yellow"></div>
Run Code Online (Sandbox Code Playgroud)

此代码最初应隐藏黄色方块,然后在 2 秒后显示它。但这不起作用。当我尝试使用按钮启动 javascript 函数时,它也不起作用。我查看了其他示例并将我的代码与他们的代码进行了比较,看起来它应该可以工作!

https://jsfiddle.net/xxPoLyGLoTxx/51spg8d1/

html javascript jquery styles visibility

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

清除文本框使其无法访问

看到附着的小提琴.我有一个试用版,按下按钮将它们放入文本框中.我希望用户能够"重新开始"并点击"清除"按钮来删除他们的答案.清除按钮有效,但之后按下其他按钮不会像以前那样将它们放回文本框中.

"清除"按钮的当前代码:

function CLEAR(){
letters.value = "";
};
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/xxPoLyGLoTxx/ea6rnwLr/

javascript textbox reset

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

JavaScript全局数组在jQuery get函数之外失去了价值

我读过"提升","范围"和"回调",但我仍然无法解决一个简单的问题.

首先,我在JavaScript中定义一个全局数组(在页面顶部):

var thefileNames = [];
Run Code Online (Sandbox Code Playgroud)

我使用jQuery函数来获取文件夹的内容并将它们存储在这个数组中:

jQuery.get(order, function(data) {
  $(data).find("a:contains(.txt)").each(function() {
    thefileNames.push($(this).attr("href"));
    console.log(thefileNames);
  })
});
Run Code Online (Sandbox Code Playgroud)

在控制台中,我将看到目录中每个文件的更新,直到我最后得到类似的东西(那里有3个文件):

File1.txt
File2.txt
File3.txt
Run Code Online (Sandbox Code Playgroud)

所以信息显然在"thefileNames"中.但是,如果我在我的代码中使用其他任何地方并使用:

console.log(thefileNames);
Run Code Online (Sandbox Code Playgroud)

我会得到这个结果:

[]
Run Code Online (Sandbox Code Playgroud)

鉴于"thefileNames"是一个全局变量,我不明白这一点.一旦我离开jQuery函数,为什么值会被删除?

javascript arrays jquery global-variables

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

从Ajax请求向PHP发布多个值

我有一个Ajax请求来保存JavaScript中的数据,并使用单独的("saveData.php")PHP文件将其写入文件.我想知道我是否可以在同一个Ajax请求中"POST"多个JavaScript变量/字符串.

例如,我目前有这个:

function saveData(){ //sends an AJAX request to saveData.php
$.ajax({
    type: "POST",
    url: "saveData.php",
    dataType: "text/plain",
    ContentType: "charset=utf-8",
    data: {"data": dataString},
  })
}
Run Code Online (Sandbox Code Playgroud)

这通过我的PHP文件很好用,这个代码如下:

$data = $_POST["data"];
$theFile = fopen("Data/" . FileNameHere . ".txt", "a+");

// Save data into a file based on their username
fwrite($theFile, $data);
fclose($theFile);   
Run Code Online (Sandbox Code Playgroud)

但我想根据用户ID保存文件,这是一个JavaScript变量.

我可以这样做:

function saveData(){ //sends an AJAX request to saveData.php
$.ajax({
    type: "POST",
    url: "saveData.php",
    dataType: "text/plain",
    ContentType: "charset=utf-8",
    data: {"data": dataString},
    data1: {"data1": userID},   <-----new line with JS variable 'userID' …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery

0
推荐指数
1
解决办法
543
查看次数

PHP_EOL和"\n"将第一行留空

我有简单的代码来保存数据:

$data = $_POST["data"];
$userID = $_POST["userID"]; 

if (empty($data)){
   } else {
    $theFile = fopen("Data/" . $userID . ".txt", "a+");
    fwrite($theFile, PHP_EOL.$data);
    fclose($theFile);      
}
Run Code Online (Sandbox Code Playgroud)

数据可以很好地保存数据,但第1行总是有一个空行.我尝试切换到"\n",问题仍然存在.还有什么我可以尝试的吗?

php blank-line

0
推荐指数
1
解决办法
223
查看次数