我做了一个注册表格,我想让人们选择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;
}
}
答案 0 :(得分:2)
您的codeigniter代码很好,但您的html / javascript是需要更改的内容。
不应该有两个具有相同名称的输入字段(php脚本只会读取最后一个,btw),您应该创建一个选择字段,以更改输入类型从'telefon'字段向下滑动。
我不确定你使用的是什么javascript,但是在jquery中你可以从select字段中选择绑定输入字段事件。
如果您需要更具体的指导,请告诉我,我会编辑我的答案。
<select id="telefon_type">
<option>Telefon Type</option>
<option value="magyar">Magyar</option>
<option value="ukran">Ukran</option>
</select>
<input type="text" name="telefon" id="telefon" disabled />
$("#telefon_type").bind("change", function() {
$("#telefon").removeAttr("disabled");
if ($(this).val() == "magyar") {
$("#telefon").bind("focus",function() {
// onfocus event for #telefon for magyar
});
} else if ($(this).val() == "ukran") {
$("#telefon").bind("focus",function() {
// onfocus event for #telefon for ukran
});
} else {
$("#telefon").attr("disabled","disabled");
$("#telefon").val('');
}
});
请注意:我尚未测试此代码。它背后的一般想法是,您为telefon字段运行的过滤器会根据您选择的选择字段而改变。
答案 1 :(得分:1)
您的问题已经answered。 Phil Sturgeon正在研究这个问题,所以你可以尝试从github使用CI的开发分支。
答案 2 :(得分:1)
如果你只想要一个电话号码(取决于国籍),我认为当你只使用一个输入字段并将其值写入数据库(或做你想做的任何事情)时,它会更简单。或者有任何理由使用两个输入字段吗?