通过提交表单从jquery函数传递var的方法

时间:2014-02-16 14:21:08

标签: jquery html textbox

我在网上找到了这段代码片段,正是我作为初学者需要学习使用jquery的东西。我的问题是,我如何能够传递/传递html头标记的jquery脚本部分中使用的counter的值。

当我说转移时我的意思是当我点击提交按钮时,假设我有一个表单并将其发送到我的CI_controller。

除了要求你们从任何职能部门做到这一点,我自己都想到了一种方式。我打算制作一个隐藏的文本框,每次添加或删除文本框我都会将计数器的值放在该文本框中,所以当我点击提交按钮时,我知道有多少文本框是动态添加的。虽然,我还是新手,所以我不知道这样做的语法。

这是片段。

<script type="text/javascript">

$(document).ready(function(){

    var counter = 2;

    $("#addButton").click(function () {

    if(counter>10){
            alert("Only 10 textboxes allow");
            return false;
    }   

    var newTextBoxDiv = $(document.createElement('div'))
         .attr("id", 'TextBoxDiv' + counter);

    newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' +
          '<input type="text" name="textbox' + counter + 
          '" id="textbox' + counter + '" value="" >');

    newTextBoxDiv.appendTo("#TextBoxesGroup");


    counter++;
     });

     $("#removeButton").click(function () {
    if(counter==1){
          alert("No more textbox to remove");
          return false;
       }   

    counter--;

        $("#TextBoxDiv" + counter).remove();

     });

     $("#getButtonValue").click(function () {

    var msg = '';
    for(i=1; i<counter; i++){
      msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val();
    }
          alert(msg);
     });
  });
</script>

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery设置表单输入值,如下所示:

$('form input#field-id').val(yourData); // where yourData is JavaScript variable containing the data/information

鉴于您的表格类似于:

<form action='/save-data' method='post'>
    <input type="text" id="field-id" name="data-name" />

    <input type="text" id="other-field" name="other-data-name" />
</form>

编辑:在客户端,您可以执行$('form textarea')。size(),它将返回该特定表单内的textareas数。

在服务器端,您可以循环浏览$ _POST以查找您喜欢的文本框数量:

$boxcount = 0;
foreach ( $_POST as $name => $value ) {
    if ( strpos($name, "textbox") == 0 ) {
        $boxcount += 1;
    } 
}