将字段中的值添加到javascript函数中

时间:2011-12-20 13:19:57

标签: javascript parameters getelementbyid

我有一个javascript函数checkStatus(),它接受​​四个参数bus_company_name,bus_id,bus_timebus_date。前三个参数来自数据库,但第四个参数将由用户输入。为此,我写了HTML:

{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}

我希望来自ID jrny_date的输入类型date。我该如何实现呢?

2 个答案:

答案 0 :(得分:2)

如果使用此选项,则会将元素值作为参数传递。

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

但你也可以进入checkStatus函数。

答案 1 :(得分:1)

由于您循环遍历项目列表,我建议在每次迭代时使用当前索引来创建唯一的日期ID。然后,您可以将其传递给您的脚本,并通过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>