【问题标题】:how do i post textbox value which is dynamically created by jquery我如何发布由 jquery 动态创建的文本框值
【发布时间】:2013-04-09 03:50:44
【问题描述】:

我正在使用 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 是空的 谁能帮帮我!对不起,我的英语很差。

【问题讨论】:

  • 那么表#tblRel 在您的页面中在哪里?因为我能想到的唯一可能出错的是您将输入字段添加到
    之外
  • 检查您将其命名为age 的输入名称,并将其在form_main 中作为jquery_text 获取
  • 纳吉先生,我改变了它,但它仍然是空结果
  • 你能在 form_main 函数中尝试 var_dump($_POST) 并告诉我它输出了什么吗?另外,当您单击按钮时,您是否看到表格中的文本字段?
  • 是的,我可以在单击按钮时看到文本字段,但在 var_dump($_POST) 我有 'applicant_name' => string '' (length=0)

标签: php javascript jquery html codeigniter


【解决方案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>');
       });

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

【讨论】:

  • 我用哪个名字发帖?
  • 我已在答案中添加。我已将您的文本框的名称和 ID 更改为 jquery_text
  • 我不认为它与命名有关,它与事情发生的顺序有关。提交发生在内容附加之前。检查我的解决方案,它对我有用 =)
  • 这是个好主意。我按照你的方式试过了。但是,我在 php 中只得到静态元素值。我无法获取动态元素值。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    相关资源
    最近更新 更多