var isDirty = null;
+ var rePageName = /^[^ a-z.|#\[\]][^ .|#\[\]]*$/;
+
Rakka.editPage = function (pageName) {
var $area = Rakka.switchScreen();
fldPageName.value, fldRakkaSource.value);
}
else if (btnTypeBinary.checked) {
- previewBinaryPage(
- fldPageName.value, fldUploadFile.value);
+ if (fldUploadFile.value != "") {
+ previewBinaryPage(
+ fldPageName.value, fldUploadFile.value);
+ }
}
});
fldCSSSource.value);
}
else if (btnTypeBinary.checked) {
- submitBinaryPage(
- pageName,
- oldRevision,
- fldPageName.value,
- chkIsLocked.checked,
- $(selPageLang).val(),
- otherLangs,
- fldSummary.value,
- fldUploadFile.value);
+ if (fldUploadFile.value != "") {
+ submitBinaryPage(
+ pageName,
+ oldRevision,
+ fldPageName.value,
+ chkIsLocked.checked,
+ $(selPageLang).val(),
+ otherLangs,
+ fldSummary.value,
+ fldUploadFile.value);
+ }
}
else if (btnTypeRedirect.checked) {
submitRedirection(
)
);
+ var validate = function () {
+ var isValid = (function () {
+ if (fldPageName.value.match(rePageName) == null) {
+ return false;
+ }
+
+ if (btnTypeRedirect.checked) {
+ if (fldRedirect.value.match(rePageName) == null) {
+ return false;
+ }
+ }
+ else {
+ for (var tag in otherLangs) {
+ if (otherLangs[tag].match(rePageName) == null) {
+ return false;
+ }
+ }
+
+ if (btnTypeBinary.checked) {
+ if (fldUploadFile.value == "") {
+ return false;
+ }
+ }
+ }
+
+ return true;
+ })();
+
+ $(btnSubmit).attr({disabled: (isValid ? "" : "disabled")});
+ };
+ $(fldPageName)
+ .add(btnTypeRakka)
+ .add(btnTypeCSS)
+ .add(btnTypeBinary)
+ .add(btnTypeRedirect)
+ .add($(trOtherLangs).find("input"))
+ .add(fldUploadFile)
+ .add(fldRedirect)
+ .change(validate)
+ .keyup(validate);
+ validate();
+
if (oldRevision == null || oldRevision == 0) {
// 削除不可
$(btnDelete).hide();