【问题标题】:Datepicker is required in php form with hidden input field带有隐藏输入字段的 php 表单中需要 Datepicker
【发布时间】:2017-04-20 11:28:34
【问题描述】:

我正在创建一个 php 表单来发布数据。其中一个元素是 Datepicker JS 元素。我将日期选择器的输入传递给隐藏的输入字段。现在我希望这个日期选择器是必需的。如果我要求输入字段,它似乎不起作用,因为它是隐藏的,它必须保持隐藏。有人知道最好的方法吗?

代码:

<div class="col-md-4 col-sm-12 ">
    <div id="date"></div>
    <label>Datum geselecteerd: </label>
    <input type="hidden" id="datefield" name="date" required/>
    <script type="text/javascript">
        var selected;
        $('#date').datepicker({beforeShowDay: function(date){
            return [date.getDay() != 1 & date.getDay() != 2 & date.getDay() != 3 & date.getDay() != 5 & date.getDay() != 0, ''];
        }});
        $(function() {
            $('#date').datepicker({ dateFormat: "dd-mm-yy" });
            $('#date').on("change",function(){
                selected = $(this).val();
                document.getElementById('datefield').value = selected;
            });
        });
    </script>
</div>

【问题讨论】:

  • 您可以检查date 是否设置在表单.submit(callback) 例如
  • @Sojtin 你能告诉我更多吗?
  • 如果选择了日期选择器,使其对用户可见。如果没有,只需存储表单填写的日期,而不依赖 datepicker js。
  • 为什么不在输入文本字段上使用日期选择器并隐藏它呢?

标签: javascript jquery html datepicker


【解决方案1】:

您可以在 jquery 中使用 .submit() ,它在提交表单时调用,您可以检查是否填写了日期字段。 在此处了解更多信息:https://api.jquery.com/submit/

您还应该使用 php 检查它,您处理表单发送给您的数据,如果没有填写,您应该让用户再次填写表单,并警告他没有填写字段

示例:

<form id="myform" action="" method="get">
<input type="hidden" id="datefield" name="date" />
<input type="submit" />
</form>
<script>
$( "#myform" ).submit(function( event ) {
   if(  $("#datefield").val().length === 0 ) {
    alert('not filled');
    }
  event.preventDefault();
});
</script>

【讨论】:

  • $('#bestelformklant').submit(function(ev) { if(document.getElementById('datefield').value == ""){ ev.preventDefault(); } }
  • 看起来他没有进入代码。也许是因为我使用按钮作为提交?
  • 当我运行这个小提琴时,它会发出警报。但是当我在我的服务器(www.melkerhei.be/php/testcheck.php)上运行它时,它不会发出警报或错误。jsfiddle.net/en9cj6ge
  • 我尝试了您的 checkout.php 并发现该字段现在是只读且可见的 :) 所以它可以按您的预期工作吗?顺便说一句...我不知道您使用的是什么主机,但您应该禁用目录列表
猜你喜欢
  • 2012-06-26
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-23
  • 2013-02-24
  • 1970-01-01
相关资源
最近更新 更多