2011-08-12 42 views
1

确定应该是每个人都很容易的,... 我在使用inclick的按钮标记中调用javascript函数。我试图让这个函数有三个不同的参数。该函数然后提交三个不同的时间,最终应该是一个红宝石表中的三个不同的记录。 但我不能明白为什么这不工作...在html.erb中使用js函数中的js函数

<script> 
function submiteffort(elem) 
{ 
    // Elem 1 
    $("#effort_hours").val($(elem).val()); 
    $("#task_id").val(elem.id); 
    $("#effort_form").submit(); 
    return true; 
} 

function medium(leave, toil, sick) 
{ 
    var dave = submiteffort(document.getElementsByName(leave)); 

    if(dave == true){ 
     var dave2 = submiteffort(document.getElementsByName(toil)); 
    } 

    if(dave2 == true){ 
     submiteffort(document.getElementsByName(sick)); 
    } 
} 
</script> 

<div class="startleft"> 
    <table> 
     <tr> 
      <td>Leave</td> 
      <td><input class="dayinput" type="text" name="Leave" placeholder="0" ></td> 
     </t> 
     <tr> 
      <td>TOIL</td> 
      <td><input class="dayinput" type="text" name="TOIL" placeholder="0"></td> 
     </tr> 
     <tr> 
      <td>Sick</td> 
      <td><input class="dayinput" type="text" name="Sick" placeholder="0"></td> 
     </tr> 
     <tr> 
      <td>Total</td> 
      <td><input id="total" class="total_low" type="text" value="0" disabled="" name="Dave"> 
     </tr> 
     <tr> 
      <td></td> 
     <td><button onclick="medium('Leave','TOIL','Sick')">Commit</button></td> 
     </tr> 
    </table> 
    </div> 

出于某种原因,这只能提交1只记录了桌子上,我不能找出原因。

回答

1

那么,如果你提交表单,页面刷新,其他2个函数调用不执行。您必须使用AJAX在3个独立的函数调用中将数据发送到后端。

+0

你会怎么做,我可以问吗? – SD1990

+0

使用jQuery,$ .ajax(options); http://api.jquery.com/jQuery.ajax/ –