如何使用javascript点击p:commandButton

时间:2015-06-16 01:19:52

标签: javascript jsf callback commandbutton

我的JSF页面中有很多标记。我想在其中一个表单中使用javascript单击p:commandButton。但它不起作用。当我调试它时使用chrome,它提示无法找到p:commandButton,也就是说$(“#templetFile \:editButton”)为空,为什么?

有我的代码:

<h:form id="templetFile" style="height:100%">
<input type="button" value = "click me" onclick="testOnclick();"/>
<p:commandButton id="editButton" value="ceshi" styleClass="button"
	action="#{advancedQueryManager.editModAndClass()}" onclick="getValddd()"
	style="display:none">
	<p:ajax event="dialogReturn" update="templFile"
	listener="#{advancedQueryManager.onreturn()}" />
</p:commandButton>
		<script type="text/javascript" >
			function testOnclick() {
				var a =$("#templetFile\\:editButton");
				a.click();
			}
			function getValddd(){
				alert("Allready onclick!");
			}
		</script>
  </h:form>

如果我使用这个js代码 var b = document.getElementById('editButton'); 我仍然无法获得p:commandButton元素。为什么?如何使用javascript获取p:commandButton?

1 个答案:

答案 0 :(得分:-1)

可能jsf会为按钮创建一个新ID,因此document.getElementById('editButton')不起作用。为了解决这个问题,你可以在按钮中添加一个任意样式类;

styleClass="button myButtonToClick"和javascript应该是这样的;

var x =document.getElementsByClassName("myButtonToClick");
x[0].click();