[英]textform not taking & symbol in CodeIgniter
目前,我正在使用CodeIgniter進行庫存項目。 在供應商列表中,我具有以下文本字段:名稱地址聯系人和電話。
對於&(&)符號以外的所有其他文本,此功能均正常工作。 當我在其后插入&符號和其他文本時,它根本不起作用。
在vendorlist.php文件中,我使用以下代碼:
<form onsubmit="return false" id="frmvendor">
<dl>
<dt><label><?php echo $this->lang->line('name');?></label></dt>
<dd><input type="text" name="vendorname" id="vendorname" value="" class="validate[required] text-input" /></dd>
</dl>
<dl>
<dt><label><?php echo $this->lang->line('address');?></label></dt>
<dd><textarea name="address" id="address" cols="22" class="validate[required] text-input"></textarea></dd>
</dl>
<dl>
<dt><label><?php echo $this->lang->line('phone');?></label></dt>
<dd><input type="text" name="phone" id="phone" value="" size="60" class="validate[required] text-input" /></dd>
</dl>
<dl>
<dt><label><?php echo $this->lang->line('contactperson')?></label></dt>
<dd><input type="text" name="contactperson" id="contactperson" value="" /></dd>
</dl>
<dl>
<dt><label><?php echo $this->lang->line('active');?></label></dt>
<dd>
<?php echo $this->lang->line('yes');?><input type="radio" name="vendor_locked" checked="checked" value="0" id="vendor_locked" />
<?php echo $this->lang->line('no');?><input type="radio" name="vendor_locked" value="1" id="vendor_unlocked" />
</dd>
</dl>
<dl>
<dt></dt>
<dd><input type="submit" name="save" value="Save" /><input type="button" name="cancel" value="Cancel" onclick="resetForm('frmvendor')" /></dd>
</dl>
<input type="hidden" id="vendorid" name="vendor" value="" />
</form>
它如何用於&符號? 幫幫我
我有自己的問題的解決方案。 問題是&符號被認為是變量。 因此,我在控制器上創建了一個功能,在視圖文件上創建了一個功能。
在Controller文件中,我創建了以下函數並將str_replace用作:
function savevendor()
{
//print_r ($_POST);
//die();
$this->redir->set_last_index();
$vendor_id = $this->input->post('id');
$refinevendor = str_replace("#_#","&",$this->input->post('vendor'));
$refineaddress = str_replace("#_#","&",$this->input->post('address'));
$refinecontactperson= str_replace("#_#","&",$this->input->post('contactperson'));
$vendordata = array(
'vendor' =>$refinevendor,
'address' =>$refineaddress,
'contact_person' =>$refinecontactperson,
'user_id' =>$this->session->userdata('user_id'),
'phone' =>$this->input->post('phone'),
'upd_date' =>date('Y-m-d'),
'locked' =>$this->input->post('locked')
);
if((int)$vendor_id==0){
$arr= array_merge($vendordata,array("ent_date"=>date("Y-m-d")));
$this->mdl_vendor->save($arr);
echo $this->lang->line('vendor_has_been_created');
}else{
$this->mdl_vendor->save($vendordata,$vendor_id);
echo $this->lang->line('this_vendor_has_been_saved');
}
}
在視圖文件中,我創建了以下函數並將.replace用作:
函數savevendor(){
showloading();
var id = $('#vendorid').val();
var vendor = $('#vendorname').val();
var refinevendor = vendor.replace("&","\#_#");
var address = $('#address').val();
var refineaddress = address.replace("&","\#_#");
var phone = $('#phone').val();
var contactperson = $('#contactperson').val();
var refinecontactperson = contactperson.replace("&","\#_#");
var locked = $('input:radio[name=vendor_locked]:checked').val();
var params = 'id='+id+'&vendor='+refinevendor+'&address='+refineaddress+'&phone='+phone+'&contactperson='+refinecontactperson+'&locked='+locked+'&unq='+ajaxunq;
$.ajax({
type : 'POST',
url : 'purchase/savevendor',
data : params,
success : function(data){
showVendorTable();
resetForm('frmvendor');
hideloading(data);
}
}) //end of ajax
}
而且有效。 其實我是第一次的事情我更換了&符號與#_#
符號,然后最后我放回到符號#_#
與&。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.