Changeset 29332 for main/trunk
- Timestamp:
- 2014-09-24T14:05:09+12:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/transform/pages/pref.xsl
r29325 r29332 34 34 <input type='hidden' name='c' value="{$collName}"/> 35 35 36 <p id="SaveInstructions" style="color:red; text-align:center; display:none;"><xsl:value-of select="util:getInterfaceText($interface_name, /page/@lang, 'pref.set_prefs_help')"/></p> 36 37 <xsl:call-template name="presentation-prefs"/> 37 38 <xsl:call-template name="search-prefs"/> … … 65 66 <xsl:template name="prefs-javascript"> 66 67 <!-- 67 Add some javascript to the page that notices when a preference is changed 68 so that, if the user tries to navigate away from the page without clicking 69 the "Set preferences" button, it asks them if they want their preferences 70 saved or not 71 --> 68 Add some javascript to the page that notices when a preference 69 is changed so that, if the user tries to navigate away from 70 the page without clicking the "Set preferences" button, it 71 gives a stay/leave dialog. --> 72 72 <script type="text/javascript"><xsl:text disable-output-escaping="yes"> 73 73 var modified = false; 74 74 var bypass = false; 75 75 76 function assembleURLFromForm(formElem) 77 { 78 var url = gs.xsltParams.library_name + "?"; 79 var selectNodes = formElem.getElementsByTagName("select"); 80 var inputNodes = formElem.getElementsByTagName("input"); 81 82 for (var i = 0; i < selectNodes.length; i++) 83 { 84 var current = selectNodes[i]; 85 url += current.name + "="; 86 url += current.options[current.selectedIndex].text + "&"; 87 } 88 89 for (var i = 0; i < inputNodes.length; i++) 90 { 91 var current = inputNodes[i]; 92 if (current.type == "hidden" || current.type == "text") 93 { 94 url += current.name + "="; 95 url += current.value + "&"; 96 } 97 } 98 return url; 76 function unsavedChanges(e) { 77 if (modified && !bypass) { 78 document.getElementById("SaveInstructions").style.display="block"; 79 return "Provide the prompt"; 99 80 } 100 101 function checkModified(e) 102 { 103 if (modified && !bypass) 104 { 105 var ok = confirm("Would you like to save your preferences?"); 106 107 if (ok) 108 { 109 var formElem = document.getElementById("prefform"); 110 formElem.submit(); 111 var xmlhttp; 112 if (window.XMLHttpRequest) 113 { 114 xmlhttp=new XMLHttpRequest(); 115 } 116 else 117 { 118 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 119 } 120 121 xmlhttp.open("GET",assembleURLFromForm(formElem),false); 122 xmlhttp.send(); 123 } 124 } 81 // no return statement - no dialog will be shown 125 82 } 126 83 … … 151 108 152 109 YAHOO.util.Event.addListener(window, 'load', pageLoad); 153 YAHOO.util.Event.addListener(window, 'beforeunload', checkModified);110 $(window).bind("beforeunload", unsavedChanges); 154 111 </xsl:text></script> 155 112 </xsl:template>
Note:
See TracChangeset
for help on using the changeset viewer.