我如何发布由jquery动态创建的文本框值

时间:2013-04-16 16:22:20

标签: php javascript jquery html codeigniter

我正在使用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为空 有人可以帮我吗!抱歉形成了我可怜的英语。

2 个答案:

答案 0 :(得分:1)

      $("#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>');
       });

我猜你的名字和文本框的名称是不同的。如果你有多个文本框,请将文本框的名称更改为数组,否则在发布后只会获得一个值。

答案 1 :(得分:0)

将jQuery代码更改为此,它应该可以正常工作。您的问题是您使用&#34;提交&#34;添加了内容。按钮的单击,将提交表单,并在提交请求后附加内容。

<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>