Я бы рекомендовал предупредить создателей фреймворка. Кое-что серьезное должно быть исправлено в источнике проблемы, и изменение имени элемента должно стать для них небольшим изменением.
В то же время вы можете удалить элемент формы во время события click, сохранив его во временной переменной. Затем вызовите submit
и, наконец, добавьте кнопку обратно во время события onsubmit
.
Примерно так, например:
(function () {
var btn, sibling,
form = document.getElementById("myForm");
window.linkSubmit = function () {
if (form.submit.tagName) { // is submit actually an element?
btn = form.submit;
sibling = btn.nextSibling;
}
YAHOO.wsc.ExpensecontrolOperationsSubmit('a','0','b');
}
form.onsubmit = function () {
if (btn) {
this.insertBefore(btn, sibling);
btn = sibling = void 0; // Reset the variables
}
}
})();
И, изменив разметку ссылки на это:
<a class="standart_link" onclick="linkSubmit()" href="javascript:">cancel</a>
В качестве примечания я бы рекомендовал полностью абстрагировать ваш код JS от разметки HTML.