Я ломаю голову, пытаясь вызвать функцию js из элемента кнопки внутри формы, вот мой код:
<%
PortletPreferences prefs = renderRequest.getPreferences();
String employee = (String)prefs.getValue("name", "New Employee");
%>
<portlet:actionURL var="callURL" windowState="<%=LiferayWindowState.EXCLUSIVE.toString() %>" />
<script type="text/javascript">
Liferay.provide(window, 'insertEmployee',
function ()
{
var A = AUI();
var url = 'http://localhost:8080/c/portal/json_Service';
A.io.request(url,
{
method:'POST',
data:
{
serviceClassName: 'com.liferay.test.service.TrabajadorServiceUtil',
serviceMethodName: 'create',
servletContextName: 'TrabajadorPlugin-portlet',
serviceParameters: '[param]',
},
headers: {'Content-Type':'charset=utf-8'},
on:
{
success: function()
{
alert("success " + responseData.name);
}
},
form: {id: 'postForm'},
xdr: {dataType: 'json'}
});
},
['aui-io']
);
</script>
<div>
<aui:form name="postForm" id="postForm" method="post" onSubmit="insertEmployee();">
<input type="text" name="param" value="<%=employee %>"/>
<input type="submit" value="Submit"/>
</aui:form>
</div>
Я не использую класс Java, поэтому ятакже не использовать портлет: actionURL.
Я собираюсь вызвать "insertEmployee ()" при нажатии кнопки "Отправить", но он только отправляет параметр, вставленный пользователем в текстовое поле.Я попытался добавить «onsubmit» также в поле ввода, но результат тот же.
Если бы вы могли помочь мне или помочь мне решить проблему, это было бы здорово!Я не нахожу хорошую информацию / сообщения в Интернете, и я не уверен, где проблема или что еще мне нужно знать.
Заранее большое спасибо!