Struts日期标记事件

时间:2016-08-23 13:47:18

标签: javascript jsp jsp-tags

我的应用程序中使用了Struts自定义日期标记。当日期发生变化并执行操作时,我需要触发事件。我尝试过onchange / onkeyup / onkeydown事件。

<form method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>" role="search">
    <label for="s" class="assistive-text"><?php _e( 'Search', 'understrap' ); ?></label>
    <div class="input-group">
        <input type="text" class="field form-control" name="s" id="s" placeholder="<?php esc_attr_e( 'Search &hellip;', 'understrap' ); ?>" />
        <input type="hidden" name="post_type" value="country">

        <?php
         $args= array('hide_empty'=>false,
                      );
        $district = get_terms('country',$args); ?>
        <select name="country">
        <option value="" selected="selected"> Select</option>
        <?php foreach ($district as $region) {?>
        <<option value="albania"> <?php echo  $region->name;?></option>
            <?php } ?>  
        </select>


            <input type="submit" class="submit btn btn-primary" name="submit" id="searchsubmit" value="<?php esc_attr_e( 'Search', 'understrap' ); ?>" />
        </span>
    </div>
</form>

但它会给我一个错误,如下所示

<s:date property="data(date)" disabled="false" todayButtonDisabled="true" id="date" />

我们是否有任何事件可以处理此日期自定义标记的onchange事件?

1 个答案:

答案 0 :(得分:0)

更常见的方法是不在html代码中使用任何on *属性,并使用javascript向事件添加(javascript-)动作。我希望你的自定义标签允许class-attribute:

<s:date property="data(date)" disabled="false" todayButtonDisabled="true" id="date" class="dateelements"/>

例如用jQuery:

$('.dateelements').on('keydown', function(evt) {
    //dosomething
});

或者您可以更改自定义标签定义(应该是项目中的某个tld文件)以允许on *事件。有一个选项<dynamic-attributes>true</dynamic-attributes>应该有效。