【问题标题】:How to change text area value after initialization?初始化后如何更改文本区域的值?
【发布时间】:2019-05-23 21:46:02
【问题描述】:

我在 JSBIN 中创建了一个案例场景,所以我在文本区域中填充了数据,所以一旦我有虚拟数据,我想更改 memberid 和其余数据,以便我可以使用真实数据向后端发送请求,但是当我单击提交它总是采用第一次加载时初始化的数据,知道如何在更改 sumbit 上的数据时解决此问题,它应该有新数据,例如我在文本区域中键入的 memberid。

main.html

var initialParams = [{
  "memberid": "etyhdjhsYYhajdsjdsQ==",
  "prescriptionInfo": [{
    "dispensingStoreDetails": {
      "dispensingStoreNumber": "1",
      "dispensingStoreNPINumber": "12302"
    }
  }]
}]

function init() {
  document.getElementById("spltyRxDetails").value = JSON.stringify(initialParams);
}
var specialtyRequest = {
  "lineOfBusiness": "SPECIALTY",
  "rxOrder": {
    "prescriptionDetails": []
  }
}
var requestParam = {
  orders: []
};
specialtyRequest.rxOrder.prescriptionDetails = initialParams;
requestParam.orders = specialtyRequest;
window.onload = init;

function execWrapperApi() {
  console.log(requestParam.orders);
}
<form>
  <div class="form-group memberInfo">
    <label for="client_id">Client Id</label>
    <input type="text" class="form-control" id="client_id" placeholder="Enter a Client Id">
  </div>
  <div class="form-group">
    <div class="spltyParams" style="border:1px solid rgb(242, 255, 0); width:100px; length:100px">
      <label for="spltyRxDetails">validate Order - Request Parameters</label>

      <textarea type="text" class="form-control text-area-request" id="spltyRxDetails" placeholder="Enter Validate Order - Request Parameters in JSON"></textarea>
    </div>
    <button type="button" class="btn btn-primary" onclick="execWrapperApi()">Submit</button> &nbsp;
    <label id="status"></label>
  </div>
</form>

【问题讨论】:

  • 分配给.value是正确的做法。
  • 这和你之前的问题有区别吗:stackoverflow.com/questions/53889077/…
  • @Barmar 类似的问题,我添加了一个小应用程序来理解,你能帮忙吗?当我更改和提交时值不会改变

标签: javascript html arrays forms


【解决方案1】:

编辑 textarea 不会更改您用来初始化它的 specialtyRequest 对象。您需要调用JSON.parse 将文本转换回对象。

var initialParams = [{
  "memberid": "etyhdjhsYYhajdsjdsQ==",
  "prescriptionInfo": [{
    "dispensingStoreDetails": {
      "dispensingStoreNumber": "1",
      "dispensingStoreNPINumber": "12302"
    }
  }]
}]

function init() {
  document.getElementById("spltyRxDetails").value = JSON.stringify(initialParams);
}
var specialtyRequest = {
  "lineOfBusiness": "SPECIALTY",
  "rxOrder": {
    "prescriptionDetails": []
  }
}
var requestParam = {
  orders: []
};
specialtyRequest.rxOrder.prescriptionDetails = initialParams;
requestParam.orders = specialtyRequest;
window.onload = init;

function execWrapperApi() {
  requestParam.orders = JSON.parse(document.getElementById("spltyRxDetails").value);
  console.log(requestParam.orders);
}
<form>
  <div class="form-group memberInfo">
    <label for="client_id">Client Id</label>
    <input type="text" class="form-control" id="client_id" placeholder="Enter a Client Id">
  </div>
  <div class="form-group">
    <div class="spltyParams" style="border:1px solid rgb(242, 255, 0); width:100px; length:100px">
      <label for="spltyRxDetails">validate Order - Request Parameters</label>

      <textarea type="text" class="form-control text-area-request" id="spltyRxDetails" placeholder="Enter Validate Order - Request Parameters in JSON"></textarea>
    </div>
    <button type="button" class="btn btn-primary" onclick="execWrapperApi()">Submit</button> &nbsp;
    <label id="status"></label>
  </div>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 2021-01-02
    • 2021-08-03
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多