Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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
Javascript 如何控制在CodeIgniter中的按钮点击上发布表单数据_Javascript_Php_Html_Forms_Codeigniter - Fatal编程技术网

Javascript 如何控制在CodeIgniter中的按钮点击上发布表单数据

Javascript 如何控制在CodeIgniter中的按钮点击上发布表单数据,javascript,php,html,forms,codeigniter,Javascript,Php,Html,Forms,Codeigniter,之前我自己发布了这个问题的答案,相信我已经找到了解决方案。然而,就在今天早上,我发现我错了。这只是部分解决了。所以,我决定删除这个答案,并编辑这篇文章 在我的CodeIgniter应用程序中,我有下面的查看页面-mean\u add.php,其中有一个表单。在表单下面有一个提交按钮。表单方法应该是“post”。如果单击submit按钮,数据将保存在数据库中。代码如下: <form action="javascript:checkTime();" method="post">

之前我自己发布了这个问题的答案,相信我已经找到了解决方案。然而,就在今天早上,我发现我错了。这只是部分解决了。所以,我决定删除这个答案,并编辑这篇文章

在我的CodeIgniter应用程序中,我有下面的查看页面-
mean\u add.php
,其中有一个表单。在表单下面有一个提交按钮。表单方法应该是
“post”
。如果单击submit按钮,数据将保存在数据库中。代码如下:

<form action="javascript:checkTime();" method="post">
            <fieldset>
                <legend id="add_employee_legend">Add Meal Information</legend>
                <div>
                    <label id= "emp_id_add_label">Employee ID:</label>
                    <input type="text" name="emp_id" id = "employee_id_add" placeholder="Employee ID" required="1"/>
                </div>
                <br>
                <div>
                    <label id= "is_guest_add_label">Guests?</label>
                    <input type="checkbox" name ="is_guest_checkbox" class ="guestcheck" checked="checked" value="1" onchange="valueChanged()"/>
                </div>
                <br>
                <div id = "guestnum">
                    <label id= "num_of_guest_add_label">No. of Guests:</label>
                    <input type="text" name="num_of_guest" id = "num_of_guest_add" placeholder='0'/>
                </div>
                <div>
                    <label id= "remarks_add_label">Remarks:</label>
                    <textarea rows="1" cols="20" style="margin-left: 35px"></textarea>
                </div>
                <input type="submit" name="submit" id = "meal_info_submit" value="Save Meal Information"/>
                <button id = "cancel_button" onclick="location.href='<?php echo base_url();?>index.php/admin_logins/meal'">Cancel</button>
            </fieldset>    
        </form>
请注意,
$mdata['bill']
不是来自
$this->input->post()
,而是来自计算。因此,我在数据库中根据计算得到$mdata['bill']`的数据,而不是0。但对于其他列,我得到的是纯0

我的模型插入方法-

  //To add a new meal to the database
  public function insert_meal($data)
  {
      return $this->db->insert('meal', $data);
  }   
我的表名是
MEIN
,数据库是MySQL,下面是表结构:

       Column Name                       Data Type
          id                               int PK 
        emp_id                      varchar(15) NOT NULL
       is_guest                        int NOT NULL
      num_of_guest                         int 
        bill                           int NOT NULL
       remarks                             text

有趣的是,虽然我的
emp_id
列是
VARCHAR NOT NULL
列,但是保存在那里的数据是0

如果时间更长,您似乎需要停止提交表单

<input type="submit" name="submit" id = "meal_info_submit" onclick="return checkTime()" value="Save Meal Information"/>

Javascript函数类似于

<script>
function checkTime()
{
    var today = new Date();
    var hour = today.getHours();
    if(hour > '12')
    {
        alert("You can't place an order after 12 pm.");
        location.href='<?php echo base_url();?>index.php/admin_logins/meal';
    } else {
       return true;
    }
}
</script>

函数checkTime()
{
var today=新日期();
var hour=today.getHours();
如果(小时数>'12')
{
提醒(“你不能在下午12点后下单。”);
location.href='index.php/admin_logins/mean';
}否则{
返回true;
}
}

为了在提交表单之前检查验证,您需要执行以下任务:

和javascript表单验证,使用:

  function checkSubmit(){       
    if (validationCorrect()) {
         $('#form').submit();
    }
}  

希望你能理解这个概念。

如果我正确理解了你的问题,那么这将是你的解决方案。不走运,伙计。数据仍在保存。发出警报后,它将登录到哪个页面-管理员登录/用餐?是的,但数据也在保存。我不希望在
hour>12时保存数据
<script>
function checkTime()
{
    var today = new Date();
    var hour = today.getHours();
    if(hour > '12')
    {
        alert("You can't place an order after 12 pm.");
        location.href='<?php echo base_url();?>index.php/admin_logins/meal';
    } else {
       return true;
    }
}
</script>
  function checkSubmit(){       
    if (validationCorrect()) {
         $('#form').submit();
    }
}