2017-08-29 59 views
0

我已創建的自定義窗體並添加了一些jquery的用於動態的輸入,但我不能得到從這些生成的輸入值(元素,鏈接,圖像)。這是我的表格和代碼。如何獲得價值從動態流星創建輸入?

enter image description here 模板 這是我的模板,這種形式

<form id="workForm" class="workAdd"> 
<label>Title</label> 
<input type="text" name="title" id="title" class="form-control"> 
<label>Live Link</label> 
<input type="text" name="llink" id="llink" class="form-control"> 
<label>Elements Used In This Project</label> 
<div class="row" id="eleContainer"> 
    <div class="eleRow"> 
     <div class="col s6 m6 l6"> 
      <label>Element</label> 
      <input type="text" name="elements[]" id="elementsid[]" class="form-control"> 
     </div> 
     <div class="col s6 m6 l6"> 
      <label>Link</label> 
      <input type="text" name="elinks[]" id="elinksid[]" class="form-control" > 
     </div> 
    </div> 
</div><!--row--> 
<div class="row"> 
    <div class="col s6 m12 center"> 
     <a class="btn-floating waves-effect waves-light" id="addElements"><i class="fa fa-plus"></i></a> 
    </div> 
</div> 
<div class="row" id="imgContainer"> 
    <div class="imgRow"> 
     <label>Image</label> 
     <input type="text" name="image[]" id="imageid[]" class="form-control" > 
    </div> 
</div> 
<div class="row"> 
    <div class="col s6 m12 center"> 
     <a class="btn-floating waves-effect waves-light" id="addImages"><i class="fa fa-plus"></i></a> 
    </div> 
</div> 
<label>Detail</label> 
<textarea id="detail" class="materialize-textarea" name="detail" data-length="120"></textarea> 

<button type="submit" id="work-submit" thisId="" class="btn btn-primary">Submit</button> 

流星 這是我爲這個表單創建我的提交事件。

Template.addworkTemp.events({ 
"submit .workAdd": function(event) { 

    var title = event.target.title.value; 
    var llink = event.target.llink.value; 
    var elements = event.target.elements.value; 
    var elinks = event.target.elinks.value; 
    var images = event.target.images.value; 
    var detail = event.target.detail.value; 
    return false; 
+0

如果你不在輸入名稱和ID的 – Mikkel

+0

@mikkel中使用方括號,你將會獲得更好的成功我知道它給了我一個括號的錯誤,但我也試過沒有括號但沒有任何東西,沒有任何東西。請給我一些想法是什麼,應該怎麼辦。我被困在這裏。 –

回答

0

有一個很好的tutorial on meteor forms這可能對你有用。本教程是基於火焰是你使用的是什麼。

首先,您可以將您的處理程序附加到form而不是workform類。

Template.addWorkTemp.events({ 
    'submit form'(event) { 
    ... 
    } 
}); 

那麼你應該阻止默認表單操作:

Template.addWorkTemp.events({ 
    'submit form'(event) { 
    event.preventDefault(); 
    ... 
    } 
}); 

event對象都有它具有基於連接到它們在HTML中每場特性target屬性。

Template.addWorkTemp.events({ 
    'submit form'(event) { 
    event.preventDefault(); 
    console.log(event.target.llink.value); 
    ... 
    } 
}); 

我不知道爲什麼你要追加[]到字段名稱。我不知道那些在這方面有效。

有一個related answer顯示如何通過template對象訪問表單元素,這是您的事件處理程序的可選第二個參數。這也可以幫助你。

當我調試這樣的事情我一般設置一個斷點(使用瀏覽器的開發工具),在事件處理程序的第一行,然後檢查事件,以確保我的理解裏面有什麼。