php curl заполнение переменных с выделением html - PullRequest
0 голосов
/ 08 октября 2018

Я новичок в php и пытаюсь получить переменную запроса php curl для заполнения из html-формы.Я хочу, чтобы этот запрос перезагрузил страницу при выборе.Следующий код, приведенный ниже, выдает эту ошибку

select.php: 19 Uncaught TypeError: document.getElementById (...). Submit не является функцией при изменении (select.php: 19) в HTMLSelectElement.onchange (select.php: 10)

<html>          
<head>
</head>

<body>

 <form method="post">
 <select id="wipname2" name="wipname2" style='position: relative' onchange="change()">
     <option value="site1.com">site1.com</option>
     <option value="site2.com">site2.com</option>
     <option value="site3.com">site3.com </option>
 </select>
 </form>

 <script>
 function change(){
     document.getElementById("wipname2").submit();
 }
 </script>

<?php

 $curl = curl_init();

curl_setopt_array($curl, array(
  //CURLOPT_URL => 'https://example.com/MagicService/rest/ltmNode?wipNames='.$_GET["wipnames2"],
  CURLOPT_URL => "https://example.com/MagicService/rest/ltmNode?wipNames=".'$_GET["wipnames2"]',
// CURLOPT_URL => "https://example.com/MagicService/rest/ltmNode?wipNames=content.gslb.fmr.com",
//  CURLOPT_URL => "https://example.com/MagicService/rest/ltmNode?wipNames=$value",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Accept: application/json",
    "Cache-Control: no-cache",
    "access-token: df11c69eabb9eab4abaf4bcc6b1e62a26025e830",
    "password: ",
    "username: "
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
        //fwrite($output,$response);
//print_r (explode(" ",$response));
echo $response;

}

?>

</body>
</html>

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Проблема с этим фрагментом кода document.getElementById("wipname2").submit();.wipname - это элемент управления select, и у него нет события submit.Но у вас есть этот элемент управления внутри form, поэтому вы можете сделать это с небольшими изменениями:

  1. Вы можете изменить <form method="post"> на <form id="theForm" method="post">, чтобы добавить идентификатор (id) к вашей форме.
  2. А затем измените document.getElementById("wipname2").submit(); в вашей функции change на document.getElementById("theForm").submit();, чтобы инициировать ваше событие form submit.
0 голосов
/ 08 октября 2018

submit() - это ссылка на ввод текста с name="submit" в форме.

поместите <input type="hidden" name="submit" value="submit" /> в форму, и тогда она будет работать.

ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...