2017-09-12 31 views
0

我試圖從使用每個函數的表單獲取所有輸入。但是Preventdefault在每個函數之後都不起作用。jQuery preventDefault()在每個函數之後都不工作

$("#my-form").on('submit', function(e){ 
 
    var masterArray = array(); 
 
    var stringify = ''; 
 
    $(".input-class").each(function(){ 
 
     $id = $(this).attr('id'); 
 
     $data = $(this).val(); 
 
     $myArray = array(); 
 
     
 
     if ($eamount == 0) { 
 
    \t \t \t myArray = { 
 
       scheme_code:$id, 
 
       amount:0 
 
      }; 
 
     }else{ 
 
    \t \t myArray = { 
 
       scheme_code:$id, 
 
       amount:$data 
 
      }; 
 
     } 
 
    \t masterArray.push(myArray); 
 
    }); 
 
    stringify = JSON.stringify(investmentArray); 
 
    e.preventDefault(); 
 
)};

回答

0

你應該只事件綁定

$("#my-form").on('submit', function(e){ 

    e.preventDefault(); 

    // rest stuff 

}); 
0

使用返回false。

$("#my-form").on('submit', function(e){ 
 
var masterArray = array(); 
 
var stringify = ''; 
 
$(".investment-amount").each(function(e){ 
 
      $id = $(this).attr('id'); 
 
      $data = $(this).val(); 
 
      $myArray = array(); 
 

 
      if ($eamount == 0) { 
 
      myArray = { 
 
       scheme_code:$id, 
 
       amount:0 
 
      }; 
 
      }else{ 
 
      myArray = { 
 
       scheme_code:$id, 
 
       amount:$data 
 
      }; 
 
      } 
 
      masterArray.push(myArray); 
 
     }); 
 

 
     stringify = JSON.stringify(investmentArray); 
 

 
    return false; 
 
)};

+0

看看密切後使用e.preventDefault(),該'preventDefault'是不是裏面的每個循環,因此,在每個循環內傳遞'e'沒有影響 – Se0ng11

+0

編輯我的答案...讓我知道它是否工作? –

-1

試試這個:

$(".investment-amount").each(function(e){ 
    var masterArray = array(); 
    var stringify = ''; 
    $(".investment-amount").each(function(e){ 
     $id = $(this).attr('id'); 
     $data = $(this).val(); 
     $myArray = array(); 

     if ($eamount == 0) { 
     myArray = { 
      scheme_code:$id, 
      amount:0 
     }; 
     }else{ 
     myArray = { 
      scheme_code:$id, 
      amount:$data 
     }; 
     } 
     masterArray.push(myArray); 
    }); 

    stringify = JSON.stringify(investmentArray); 



e.preventDefault(); 
)}; 
+0

你的答案與OP所要求的完全不同,我不認爲有雙重循環可以解決任何OP提及的問題 – Se0ng11