function updateContent(e, text) { updateContent(e, text, null); } function updateContent(e, text, action) { var form; var isTextWidget = false; if (text.focusNode) { form = text.focusNode.form; if (!(text.get("hidden") || text.get("readOnly")) && (text.declaredClass === "wagby.TextBox" || text.declaredClass === "dijit.form.SimpleTextarea" || text.declaredClass === "wagby.ValidationTextarea")) { isTextWidget = true; } } else { form = text.form; } if (!form) { return; } #if $block{isNotsameInputValueModelitemIfCode} for (i = 0 ; i < form.elements.length ; i++) { var elem = form.elements[i]; $block{notsameInputValueModelitemIfCode} { continue; } if ('function' === typeof window["getValueElement_"+elem.name]) { var text1 = eval("getValueElement_"+elem.name+"(text)"); if (text1 != null) { text = text1; break; } } } #endif $block{ifCode} { return; } updateContentForm(form, action, isTextWidget); } var requestTimerId = null; function updateContentForm(textform, action, isTextWidget) { if (requestTimerId) { clearTimeout(requestTimerId); } updateContent_textform = textform; #if $block{isChangeAjaxElement} // 更新される項目の背景色を変更する。 changeUpdateBgcolor(); #endif // テキストファイルのURLとパラメータを定義 var target_url = textform.action; var param = 'action_GetXml=submit'; if (action) { param = param + "&" + action; } for (i = 0 ; i < textform.elements.length ; i++) { var elem = textform.elements[i]; if ((typeof elem.name) == 'undefined' || elem.type == 'button' || elem.type == 'file' || elem.type == 'image' || elem.type == 'reset' || elem.type == 'submit') { continue; } if (elem.type == 'radio' || elem.type == 'checkbox') { if (!elem.checked) { continue; } } if (elem.disabled) { $block{checkDisabledCode} } if (elem.name == '') continue; if (elem.name == 'SENDACTION') continue; if (elem.name.indexOf('action_') == 0) continue; param = param + '&' + encodeURIComponent(elem.name) + '=' + encodeURIComponent(elem.value); } var timeout = 10; if (isTextWidget) { timeout = 500; } else { // Ajax 実行前にボタンを押下不可にする buttonOff(); } // HTTP通信を開始し、完了したらsetResponseXMLContent関数を実行する。 // 失敗した場合(タイムアウトやHTTPエラー)は、failedUpdateContentHttpXMLRequest関数を実行する。 requestTimerId = setTimeout(function() { httpXMLRequest( target_url, param, 'POST', setResponseXMLContent, failedUpdateContentHttpXMLRequest); requestTimerId = null; }, timeout); }