2014-02-16 29 views
0

我在網上發現了這個代碼片段,它正是我作爲一個初學者需要從jquery中學習的東西。我的問題是,我如何能夠傳遞/傳遞在html頭標記的jquery腳本部分中使用的counter的值。從jquery函數通過提交表單傳遞var的方式

當我談到轉移我的意思是當我點擊提交按鈕,假設我有一個窗體並將其發送給我的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> 

回答

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; 
    } 
} 
+0

林不知道如果我理解你的答案,而是要說明我的問題。 示例,我動態地添加了4個文本框,名稱爲textbox1到textbox4。因爲它的動態我沒有辦法知道我的控制器上有多少文本框。所以爲了讓我知道有多少文本框,所以我可以用$ _POST獲取所有值,我需要在添加(name =「textbox」+ count)時指定文本框名稱的var count – user3205047

+0

我更新了我的答案 –

+0

您能向我解釋strpos($ name,「textbox」)的代碼行嗎? 它是否像LIKE查詢一樣工作,在該查詢中它搜索任何名稱中包含「textbox」 – user3205047