2011-12-20 153 views
0

我有一个javascript函数checkStatus(),它接受四个参数bus_company_name,bus_id,bus_timebus_date。前三个参数来自数据库,但第四个参数将由用户输入。对于我写了像HTML:将字段值添加到javascript函数

{foreach name = feach item = k from = $allBuses} 
     <p> 
     {$k->bus_company_name}<br /> 
     A/C {$k->bus_is_ac}<br /> 
     Date : <input type="text" name="date" id="dt" />yyyy/mm/dd 

     <a href="javascript:checkStatus('{$k->bus_company_name}','{$k->bus_id}','{$k->bus_time}',jrny_date)">Status</a> 
     </p> 
    {/foreach} 

我想jrny_date与ID date输入类型。我怎样才能实现呢?

回答

2

如果你使用这个,你会传递元素值作为参数。

javascript:checkStatus('{$k->bus_company_name}','{$k->bus_id}','{$k->bus_time}',document.getElementById('dt').value) 

但是你也可以进入函数checkStatus。

1

由于您正在遍历项目列表,因此我建议在每次迭代中使用当前索引来创建唯一的日期标识。然后,您可以将其传递给脚本,并通过ID获取元素的值:

{foreach name = feach key = i item = k from = $allBuses} 
     {$k->bus_company_name}<br /> 
     A/C {$k->bus_is_ac}<br /> 
     Date : <input type="text" name="date" id="dt_{$i}" />yyyy/mm/dd 

     <a href="javascript:checkStatus('{$k->bus_company_name}','{$k->bus_id}','{$k->bus_time}','dt_{$i}')">Status</a> 
{/foreach} 

<script> 
    function checkStatus(name, id, time, date_id){ 
     var date = document.getElementById(date_id); 
     if(date){ 
      alert(date.value); 
      // Do something fancy with the date 
     } 
    } 
</script>