对不起,如果这是一个愚蠢的问题,但我需要一点帮助。
我做了一个注册表,我想人们选择2个电话号码。
如果我选择匈牙利语,匈牙利语电话输入类型会向下滑动,如果他选择乌克兰语,乌克兰语电话输入类型会向下滑动。
这里是html
<input type='text' name='telefon' id='magyar' class='input_title' value='<?php echo set_value('telefon'); ?>' />
<input type='text' name='telefon' id='ukran' class='input_title' value='<?php echo set_value('telefon'); ?>' />
<div class='hiba'><?php echo form_error('telefon'); ?></div>
magyar = hingarian
ukran = ukraine
telefon = phone
telo_tipus = phoe type
我的问题是验证,如果我选择匈牙利语并填写它,它说我需要添加一个电话号码,但如果我选择乌克兰语它的确定
下面是验证
$this->form_validation->set_rules('telefon', 'Telefon', 'required|callback_hasznalt_telefon');
能不能请人指出我在验证中遗漏了什么?
我尝试使用na=telefon[],但在这种情况下,验证不起作用
回拨只验证电话是否被占用,没关系,但在这里
function hasznalt_telefon()
{
$telefon = trim($this->input->post('telefon'));
$query = $this->db->query(' SELECT telefon FROM felhasznalok WHERE telefon = "'.$telefon.'" ');
if($query->num_rows() > 0)
{
$this->form_validation->set_message('hasznalt_telefon', 'Ez a telefonszám már használatban van ');
return false;
}
else
{
return true;
}
}
3条答案
按热度按时间wj8zmpe11#
你的codeigniter代码是好的,但是你的html/javascript是需要改变的。
与其有两个同名的输入字段(php脚本只会读取最后一个,顺便说一句),你应该创建一个选择字段,从“telefon”字段向下滑动来改变输入类型。
我不确定你使用的是什么javascript,但是在jquery中,你可以把输入字段事件绑定到选择字段的选择上。
如果你需要更具体的指导,让我知道,我会编辑我的答案。
请注意:我还没有测试过这段代码。它背后的一般思想是,你正在运行的telefon字段的过滤器根据你对select字段的选择而改变。
dzhpxtsq2#
你的问题已经是answered了。Phil Sturgeon正在研究这个问题,所以你可以尝试使用github的CI开发分支。
bq3bfh9z3#
如果你只想要一个电话号码(取决于国籍),我想当你只使用一个输入字段并将其值写入数据库(或做任何你想做的事情)时会更简单。或者有什么理由使用两个输入字段吗?