Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php表单post中使用javascript onclick指定的输入值_Javascript_Php_Jquery - Fatal编程技术网

如何在php表单post中使用javascript onclick指定的输入值

如何在php表单post中使用javascript onclick指定的输入值,javascript,php,jquery,Javascript,Php,Jquery,我有一个带有两个按钮、两个日期选择器和一个隐藏输入的表单。如果单击单向按钮,返回日期选择器将隐藏,输入值将更改为单向。单击return(返回)按钮将恢复该过程,并且输入值将更改为return(返回) <script> $(document).ready(function() { $("label[name='oneway']").on("click", function(){ sessionStorage.setItem("btnActive", "oneway

我有一个带有两个按钮、两个日期选择器和一个隐藏输入的表单。如果单击单向按钮,返回日期选择器将隐藏,输入值将更改为单向。单击return(返回)按钮将恢复该过程,并且输入值将更改为return(返回)

 <script>
  $(document).ready(function() {
   $("label[name='oneway']").on("click", function(){
     sessionStorage.setItem("btnActive", "oneway");
     $(".returnpicker").hide();
     $("label[name='return']").removeClass('active');
     $(this).addClass('active');
     document.getElementById('hiddeninput').value = "oneway";
 });
 $("label[name='return']").on("click", function(){
    sessionStorage.setItem("btnActive", "return");
    $(".returnpicker").show();
    $("label[name='oneway']").removeClass('active');
    $(this).addClass('active');
    document.getElementById('hiddeninput').value = "return";
 });
 let sessionState = sessionStorage.getItem("btnActive");
  if( sessionState == "oneway") {
     $(".returnpicker").hide();
     $("label[name='return']").removeClass('active');
     $(this).addClass('active');
     document.getElementById('hiddeninput').value = "oneway";
   } else {
    sessionStorage.setItem("btnActive", "return");
    $(".returnpicker").show();
    $("label[name='oneway']").removeClass('active');
    $(this).addClass('active');
    document.getElementById('hiddeninput').value = "return";
   }
  });
 </script>

$(文档).ready(函数(){
$(“label[name='oneway'])。在(“单击”,函数()上){
sessionStorage.setItem(“btnActive”、“单向”);
$(“.returnpicker”).hide();
$(“label[name='return']);
$(this.addClass('active');
document.getElementById('hiddeninput').value=“单向”;
});
$(“label[name='return'])。在(“单击”,函数()上){
sessionStorage.setItem(“btnActive”、“return”);
$(“.returnpicker”).show();
$(“label[name='oneway'])。removeClass('active');
$(this.addClass('active');
document.getElementById('hiddeninput').value=“return”;
});
让sessionState=sessionStorage.getItem(“btnActive”);
if(sessionState==“单向”){
$(“.returnpicker”).hide();
$(“label[name='return']);
$(this.addClass('active');
document.getElementById('hiddeninput').value=“单向”;
}否则{
sessionStorage.setItem(“btnActive”、“return”);
$(“.returnpicker”).show();
$(“label[name='oneway'])。removeClass('active');
$(this.addClass('active');
document.getElementById('hiddeninput').value=“return”;
}
});
我的html看起来像这样

<form method="post" action="">
  <input type="hidden" id="hiddeninput" name="hiddeninput">
  <div class="form-row">
   <div class="btn-group btn-group-toggle" data-toggle="buttons">
    <label for="oneway" class="btn btn-default " name="oneway">One way</label>
    <label for="return" class="btn btn-default " name="return">Return</label>
   </div>

   <div class="form-group col-lg-3 departure">
    <label for="OnewayDatepicker">Departure Date</label>
    <div class="input-group date">
     <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
     <input id="date_added" type="text" name="OnewayDatepicker"class="form-control" value="<?php echo isset($_POST['OnewayDatepicker']) ? $_POST['OnewayDatepicker'] : '' ?>">
    </div>
     <div class="mb-3">
      <?php if (isset($OnewayDatepicker_err )) echo '<p class="text-danger"><small>' . $OnewayDatepicker_err . ' </small></p>'; ?>
     </div>
   </div>

   <div class="form-group col-lg-3 arrival">
    <label for="ReturnDatepicker">Arrival Date</label>
    <div class="input-group date">
     <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
     <input id="date_modified" type="text" name="RetunDatepicker"class="form-control" value="<?php echo isset($_POST['RetunDatepicker']) ? $_POST['RetunDatepicker'] : '' ?>">
    </div>
     <div class="mb-3">
      <?php if (isset($ReturnDatepicker_err )) echo '<p class="text-danger"><small>' . $ReturnDatepicker_err . ' </small></p>'; ?>
     </div>
   </div>

 </div>
 <div>
  <button type="submit" name="confirm" class="btn btn-primary btn-lg " id="confirm">Confirm</button>
 </div>

</form>

单程
返回
离港日
到达日期
证实
还有我的php

<?php 
 $OnewayDatepicker_err = "";
 $RetunDatepicker_err = "";
 $OnewayDatepicker = $_POST['OnewayDatepicker'];
 $RetunDatepicker = $_POST['RetunDatepicker'];
 $hiddeninput = $_POST['hiddeninput'];

 if (isset($_POST["confirm"])) {

   if (empty($OnewayDatepicker)) {
    $OnewayDatepicker_err = " * Choose Departure Date";
   } else {
    $OnewayDatepicker_err = "";
   }

   if ((empty($RetunDatepicker)) && ($hiddeninput == "return")) {
    $RetunDatepicker_err = " * Choose Return Date";
   } else {
    $RetunDatepicker_err = "";
   }
 }
?>

除了这部分代码“&&($hiddeninput=“return”)”之外,一切都正常


php似乎无法识别JS传递到隐藏输入中的值,或者我做错了什么?

请注意,
=
==
$hiddeninput=“return”
是一个赋值,而不是比较。我将此$hiddeninput=“return”更改为此$hiddeninput==“return”它仍然不会返回任何错误id该字段为空…并且它仍然不会返回任何错误id…-你什么也不退。您仅使用
$RetunDatepicker\u err=“*选择返回日期”分配变量。您需要根据需要使用
echo
关键字,或者可能使用
return
。此外,检查浏览器控制台,查看隐藏字段是否实际发送了您认为是的值。在设置值的JS周围有很多if语句。很有可能,它的价值不是你想象的那样。