Как изменить значение текстовой области после инициализации? - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть сценарий кейса, который я создал ниже в JSBIN. Итак, у меня есть данные, заполненные в текстовой области, поэтому, когда у меня есть фиктивные данные, я хочу изменить memberid и остальные данные, чтобы я мог отправить запрос на сервер с реальными данными, но когдаЯ нажимаю «Отправить», всегда берут данные, которые были инициализированы при первой загрузке. Любая идея, как исправить эту проблему, когда изменение данных на сумме, должно иметь новые данные, такие как 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>

1 Ответ

0 голосов
/ 26 декабря 2018

Редактирование текстовой области не изменяет объект 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...