【问题标题】:Parsing Array To Input Value (Global .JS file to Specific HTML Page)将数组解析为输入值(全局 .JS 文件到特定的 HTML 页面)
【发布时间】:2019-06-30 12:50:03
【问题描述】:

我已经能够为这个应用程序创建一个数组,问题是现在我需要在页面的输入中显示这个数组作为一个值。我尝试了多种方法来将这些数据解析为一个输入表单作为值。此页面上有多个输入,因此我不确定是否必须执行循环。这就是为什么我想使用数组项作为显示的项。有人可以告诉我我可能做错了什么吗?提前感谢您的宝贵时间。

在 .js 文件中

function pEdit() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      var pInfo = this.responseText.split('\r');
      var out = [];
      for (var i = 0; i < pInfo.length; i++) {
        out.push(pInfo[i]);
        var pn = pInfo[1] ;
      }
    }
  };
  xhttp.open("GET", "http://127.0.0.1:8080/PartInfo.txt", true);
  xhttp.send();
}

在特定的 HTML 页面上

<body onload="pEdit();">
<script>
document.getElementById('eName').value = pEdit('pn') ;
</script>

我已尝试对 pInfo[array#] 和 pn 进行 decalare。我期待特定数组的值显示在表单中。

【问题讨论】:

  • pEdit() 不会返回任何内容,因此pEdit(,..) 永远不会返回值。但是,即使您确实返回了一个值,您的函数也是异步的,也许可以看看 this 从回调中返回一个值。
  • 很好,谢谢你的链接。这是非常有用的。我能够让它半工作。我不认为它遵循文档中列出的架构,但不确定它是如何工作的。我现在唯一要做的就是让选择的项目获得价值。 “值”和“选项”都不能声明它。我尝试在逻辑中添加一些 if then elseif 语句,但我相信这是我遇到所描述的异步问题的时候。

标签: javascript html arrays


【解决方案1】:

因此,在阅读 Nick 给我的文档时,这似乎不是 Vanilla Javascript 的正确语法,但它确实有效。这些值是 HTML 页面上的输入框, selectedIndex 是一个下拉框。如果有人对此有见解,请告诉我。

function gEdit() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      var pInfo = this.responseText.split('\r');
      var out = [];
      for (var i = 0; i < pInfo.length; i++) {
        out.push(pInfo[i]);
        document.getElementById('eName').value = out[0] ;
        //document.getElementById('eID').value = out[1] ;
        document.getElementById('eShape').selectedIndex = out[2] ; 
        document.getElementById('eType').selectedIndex = out[3] ; 
        document.getElementById('rdx').value = out[5] ;
        document.getElementById('rdy').value = out[6] ;
        document.getElementById('rdz').value = out[7] ;
        document.getElementById('fdx').value = out[8] ;
        document.getElementById('fdy').value = out[9] ;
        document.getElementById('fdz').value = out[10] ;
        //document.getElementById('eOvrdPOS').value = out[11] ;
        //document.getElementById('eOffstS').value = out[12] ;
        //document.getElementById('eGrip1Type').value = out[13] ;
        //document.getElementById('eGrip2Type').value = out[14] ;
        document.getElementById('m1jl').value = out[15] ;
        document.getElementById('m1ld').value = out[16] ;
        document.getElementById('m2jl').value = out[17] ;
        document.getElementById('m2ld').value = out[18] ;
      }
    }
  };
  xhttp.open("GET", "http://127.0.0.1:8080/PartInfo.txt", true);
  xhttp.setRequestHeader('cache-control', 'no-cache, must-revalidate, post-check=0, pre-check=0');
  xhttp.setRequestHeader('cache-control', 'max-age=0');  
  xhttp.setRequestHeader('expires', '0');
  xhttp.setRequestHeader('expires', 'Tue, 01 Jan 1980 1:00:00 GMT');
  xhttp.setRequestHeader('pragma', 'no-cache');
  xhttp.send();
};

【讨论】:

    猜你喜欢
    • 2013-12-24
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 2021-12-16
    • 2021-03-14
    • 1970-01-01
    相关资源
    最近更新 更多