Javascript 如何控制在CodeIgniter中的按钮点击上发布表单数据
之前我自己发布了这个问题的答案,相信我已经找到了解决方案。然而,就在今天早上,我发现我错了。这只是部分解决了。所以,我决定删除这个答案,并编辑这篇文章 在我的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">
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();
}
}