29. oktober 2003 - 14:57Der er
6 kommentarer og 1 løsning
Insæt tabel script - virker ikke
Jeg bruger følgende script til at indsætte en tabel i en wysiwyg, eller rettere, det vil jeg gerne... Boksen kommer fint op når jeg trykker på knappen, men når jeg så trykker insert, lukker den bare uden at indsætte noget!
Jeg ved ikke helt hvordan det hænger sammen, det er ikke mig der har skrevet det og javascript er ikke min stærkeste side, men jeg bruger showModalDialog()
Okay ... i et vindue du åbner med showModalDialog kan man sætte en variabel "window.returnValue = XXX", som vinduet så returnerer når det lukkes (det har du fået er lavet rigtigt nok) - det er skal skal ske er at det script som kalder dialogen, skal modtage denne værdi som returneres :
<script type="text/javascript"> var returval = null;
function openDialog() { var returval = window.showModalDialog(...);
if(returval != null) { // gør noget ved variablen alert(returval); } } </script>
denne funktion vil alerte din HTML :) -- så må du selv gøre noget ved den
var _editor_url = opener._editor_url; var objname = location.search.substring(1,location.search.length); var config = opener.document.all[objname].config; var editor_obj = opener.document.all["_" +objname+ "_editor"]; var editdoc = editor_obj.contentWindow.document;
function _CloseOnEsc() { if (event.keyCode == 27) { window.close(); return; } }
window.onerror = HandleError
function HandleError(message, url, line) { var str = "An error has occurred in this dialog." + "\n\n" + "Error: " + line + "\n" + message; alert(str); // window.close(); return true; }
function Init() { document.body.onkeypress = _CloseOnEsc; }
function _isValidNumber(txtBox) { var val = parseInt(txtBox); if (isNaN(val) || val < 0 || val > 9999) { return false; } return true; }
function btnOKClick() { var curRange = editdoc.selection.createRange();
// error checking var checkList = ['rows','cols','border','cellspacing','cellpadding']; for (var idx in checkList) { var fieldname = checkList[idx]; if (document.all[fieldname].value == "") { alert("You must specify a value for the '" +fieldname+ "' field!"); document.all[fieldname].focus(); return; } else if (!_isValidNumber(document.all[fieldname].value)) { alert("You must specify a number between 0 and 9999 for '" +fieldname+ "'!"); document.all[fieldname].focus(); return; } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.