我正在使用codeigniter框架,我试图在HTML表单中使用文本框。当用户单击按钮时,jquery将自动生成一个文本框,但当我提交表单时,其他文本框值会正确发布,但我无法发布jquery文本框值。
这是jquery代码:
$("#button").live('click',function add(){
$("#tblRel").append(
'<tr ><td>'
+'<input type="text" class="input_value_short" id="prova" name="jquery_txt" value="prova" />'+
'</td><tr>'
);
});
HTML:
<?php echo form_open("validation/form_main");?>
<table id="tblRel" border="0">
<tr>
<td class="lable">Applicant Name:</td>
<td colspan="3"><?php echo form_input(array('name'=>'applicant_name','class'=>'input_value_long','value'=>set_value('applicant_name'))) ?></td>
</tr>
</table>
<?php echo form_submit(array('id'=>'submit','name'=>'Save','value'=>'Save record','class'=>'button_print'));?>
在form_main((函数中,我这样发布:
form_main(){
$name = $this->input->post('applicant_name');
$jquery_txt = $this->input->post('jquery_txt');
}
我可以得到$name的值,但$jquery_txt为空有人能帮帮我吗!抱歉我英语不好。
$("#button").live('click',function add(){
$("#tblRel").append('<tr ><td><input type="text" class="input_value_short" id="jquery_txt" name="jquery_txt[]" value="prova" /></td><tr>');
});
我猜你的名字和is在文本框中不一样。。使其相同,如果您有多个文本框,请将文本框的名称更改为数组,否则在发布后只会得到一个值。
将jQuery代码更改为这个,它应该可以正常工作。您的问题是,您通过单击"提交"按钮来添加内容,这将提交表单,并且内容将附加在提交请求之后。
<script>
$("form").live('submit',function add(){
$("#tblRel").append(
'<tr ><td>'
+'<input type="text" class="input_value_short" id="prova" name="jquery_txt" value="prova" />'+
'</td><tr>'
);
return true;
});
</script>