簡體   English   中英

php curl用html下拉選擇填充變量

[英]php curl populating variables with html drop down selection

我是php的新手,正嘗試從html下拉表單中填充php curl請求變量。 我希望此請求在選擇后重新加載頁面。 下面的代碼給出此錯誤

select.php:19未捕獲的TypeError:document.getElementById(...)。submit不是HTMLSelectElement.onchange(select.php:10)上​​的更改函數(select.php:19)

<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>

submit()是對形式為name="submit"的文本輸入的引用。

<input type="hidden" name="submit" value="submit" />放入表單中,然后它將起作用。

參考

問題在於這段代碼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提交事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM