如何刷新html页面上的特定组件

时间:2012-08-23 13:48:43

标签: java html

我的html页面上有一个事件监听器,这样当组件的值发生变化时,另一个组件将成为必需组件。但这只适用于更改组件的值,保存页面并重新加载

的情况

有没有办法在不必保存和重新加载整个页面的情况下执行此操作?

@EventListener(targets="licensingStatus", events="onchange")
public void onLicenseStatusChange(IRequestCycle cycle){
....
}

修改

可以转一个功能

<input jwcid="licensingApprovalDate@CustomDatePicker"/>

进入这个

<input jwcid="licensingApprovalDate@CustomDatePicker" validators="validators:maxDateToday"/>

4 个答案:

答案 0 :(得分:1)

如果需要动态生成组件:

最简单的实现是使用AJAX。您可以拥有网页上任何组件的监听器,当发生更改时,进行AJAX调用并显示其他组件。

否则:

如果组件已经存在并且最初已被隐藏并且只需要显示,那么您可以拥有此代码

document.getElementById('other-component').style.visibility='visible'; 

在你的听众中。

修改

如果您只想要新字段是强制性的,您可以在javascript中创建一个检查,这样当您输入提交按钮或其他任何内容时,将检查该字段是否为空,如果为空则给出向用户发出消息。像这样:

mystring=document.getElementById('other-component').value; 
if(!mystring.match(/\S/)){
alert ('Empty value is not allowed');
return false;
}else{
 alert ("correct input");
 return true;
}

答案 1 :(得分:0)

您应该使用Ajax实现此目的。

答案 2 :(得分:0)

AJAX。可能值得看一下像jQuery这样的框架。

答案 3 :(得分:0)

绝对可以在这里使用Javascript。您可以使用AJAX并在返回数据时使用getElementById对各个元素进行更新。

jQuery让这更容易。

$.ajax({
  url: "test.html",
  context: document.body
}).done(function() { 
  $("#myDiv").html("New data loaded");
  myGlobalMandatoryField = true;
});

myGlobalMandatoryField可以在另一个函数中使用,以确保在字段中输入值。