编程语言
首页 > 编程语言> > 如何使用a4j:commandLink和action属性AND oncomplete属性来激活一些JavaScript?

如何使用a4j:commandLink和action属性AND oncomplete属性来激活一些JavaScript?

作者:互联网

我有一些代码,我已经设法在Chrome,IE8,但不是FireFox. BTW:我的a4j:名称空间是:

这个想法很简单,你希望在物品缺货时得到通知,这样你就可以输入你的电子邮件,我们用一个简单的谢谢你替换这个小小的表格.

但是在FireFox中它通过动作和它的bean方法正确地汇总到数据库.然后oncomplete它会触发一个JS函数,并显示谢谢你的消息,然后页面完成重新加载,我认为原始形式重新出现,我们不想要!

首先是首页中的RichFaces和事件代码

<h:inputText id="email" value="#{customer.stockWatch.email}"
    converter="TextTrimConverter"
    onfocus="if(this.value == 'Enter email address'){ this.value=''; }"
    onblur="if(this.value.trim() == ''){ this.value='Enter email address'; }"
    onkeypress="stockWatchEnterSubmit(event.keyCode);" />

<a:commandLink styleClass="b_submit" id="stockwatchSubmit"
    action="#{customer.stockWatch}"
    oncomplete="stockWatchTextChange(); return false;">
    <span>#{messages.submit}</span>
</a:commandLink>

现在我用的两个简单的javascript函数:

function stockWatchTextChange() {
    document.getElementById('fstockwatch').setAttribute('id', 'fstockwatch_thanks');
    document.getElementById('fstockwatch_thanks').innerHTML = 'Thank you. We\'ll send you an email once this item is back in stock';
}

function stockWatchEnterSubmit(keyCode) {
    if(keyCode == 13){
        document.getElementById('stockwatchSubmit').click();
    }
}

谢谢你的帮助.它在3个浏览器中的2个中运行!但还不够好!!

标签:java,javascript,jsf,richfaces,ajax4jsf
来源: https://codeday.me/bug/20190529/1181047.html