2013-04-25 59 views
0

我有一個頁面列出了用戶所做的以前的條目,每個鏈接都會調用一個打開彈出窗格中編輯頁面的函數。在popup div中重置特定窗體

編輯頁面只包含一個帶有更新和重置按鈕的表單,但每當我選擇重置按鈕將表單返回到其初始狀態時,什麼都不會發生。

我在最近幾天看了一些網頁,嘗試瞭解可能會導致這種情況的一些更多的理解,但它就像點擊「重置」按鈕時調用的JavaScript函數一樣忽略了document.getElementById (form).reset()命令,因爲沒有返回javascript錯誤。

下面是代碼對parent.cfm

<script language="javascript" src="functions.js" type="text/javascript"></script> 
<table border="0" cellspacing="5" cellpadding="0" width="850"> 
<form action="##" method="post" name="parentForm" id="parentForm"> 
    <input type="hidden" name="formSubmitted" id="formSubmitted" value="1" /> 
    <tr> 
     <td>Label 1</td> 
     <td>     
      <select name="field1" id="field1"> 
       <option value="1">1</option>    
       <option value="2">2</option> 
       <option value="3">3</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td>Label 2</td> 
     <td>     
      <select name="field2" id="field2"> 
       <option value="1">1</option>    
       <option value="2">2</option> 
       <option value="3">3</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td>Label 3</td> 
     <td><input type="text" name="field3" id="field3" /></td> 
    </tr> 
    <tr> 
     <td>Label 4</td> 
     <td> 
      <select name="field4" id="field4"> 
       <option value="1">1</option>        
       <option value="2">2</option> 
       <option value="3">3</option> 
      </select> 
     </td> 
    </tr> 
    <tr> 
     <td>Label 5</td> 
     <td><textarea name="field5" id="field5" rows="10" cols="75"></textarea></td> 
    </tr> 
    <tr> 
     <td><input type="button" name="resetFormBtn" id="resetFormBtn" onClick="resetForm('parentForm');" value="RESET" /></td> 
     <td><input type="button" name="formSubmittedBtn" id="formSubmittedBtn" onClick="checkForm('parentForm');" value="ADD" /></td> 
    </tr> 
</form> 
</table> 

<cfif qryRecords.RecordCount GT 0>  
<table border="0" cellspacing="5" cellpadding="0" width="850"> 
    <cfloop query="qryRecords"> 
     <tr> 
      <td>Column Name 1</td> 
      <td>#columnName1#</td> 
     </tr> 
     <tr> 
      <td>Column Name 2</td> 
      <td>#columnName2#</td> 
     </tr> 
     <tr> 
      <td>Column Name 3</td> 
      <td>#columnName3#</td> 
     </tr> 
     <tr> 
      <td>Column Name 4</td> 
      <td>#columnName4#</td> 
     </tr> 
     <tr> 
      <td>Column Name 5</td> 
      <td>#columnName5#</td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <button name="editRecordBtn" onClick="openPage('childPage.cfm?recordID=#qryRecords.recordID#')">EDIT RECORD</button> 
      </td> 
      <td colspan="2"> 
       <form action="##" name="removeRecord" id="removeRecord" method="post"> 
        <input type="hidden" name="recordID" value="#qryRecords.recordID#" /> 
       </form> 
       <button name="removeRecordBtn" onClick="document.getElementById('removeRecord').submit();">REMOVE RECORD</button> 
      </td> 
     </tr> 
    </cfloop> 
</table> 
</cfif> 

樣本,這是child.cfm它,在彈出的打開:

<script language="javascript" src="functions.js" type="text/javascript"></script> 
<cfoutput> 
<table border="0" cellspacing="5" cellpadding="0" width="850"> 
    <form action="##" method="post" name="recordEditForm" id="recordEditForm"> 
     <input type="hidden" name="editFormSubmitted" id="editFormSubmitted" value="1" /> 
     <tr> 
      <td>Label 1</td> 
      <td> 
       <select name="field1" id="field1"> 
        <option value="1" <cfif Form.field1 EQ Variables.field1>selected</cfif>>1</option>   
        <option value="2" <cfif Form.field1 EQ Variables.field1>selected</cfif>>2</option> 
        <option value="3" <cfif Form.field1 EQ Variables.field1>selected</cfif>>3</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>Label 2</td> 
      <td>     
       <select name="field2" id="field2"> 
        <option value="1" <cfif Form.field2 EQ Variables.field2>selected</cfif>>1</option>   
        <option value="2" <cfif Form.field2 EQ Variables.field2>selected</cfif>>2</option> 
        <option value="3" <cfif Form.field2 EQ Variables.field2>selected</cfif>>3</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>Label 3</td> 
      <td><input type="text" name="field3" id="field3" value="#Variables.field3#" /></td> 
     </tr> 
     <tr> 
      <td>Label 4</td> 
      <td> 
       <select name="field4" id="field4"> 
        <option value="1" <cfif Form.field4 EQ Variables.field4>selected</cfif>>1</option>       
        <option value="2" <cfif Form.field4 EQ Variables.field4>selected</cfif>>2</option> 
        <option value="3" <cfif Form.field4 EQ Variables.field4>selected</cfif>>3</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>Label 5</td> 
      <td><textarea name="field5" id="field5" rows="10" cols="75">#Variables.field5#</textarea></td> 
     </tr>   
     <tr> 
      <td colspan="2"> 
       <input type="button" name="resetRecordBtn" id="resetRecordBtn" onClick="resetForm('recordEditForm');" value="RESET" /> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2"> 
       <input type="button" name="editRecordBtn" id="editRecordBtn" onClick="checkForm('recordEditForm');" value="EDIT RECORD" /> 
      </td> 
     </tr> 
    </form> 
</table> 
</cfoutput> 

這被稱爲函數的兩個功能.js:

function resetForm(formName) { 
    var form = formName; 
    document.getElementById(form).reset(); 
} 

function openPage(source,width) { 
    var source = source; 
    var randStr = makeRandString(10); 
    var hasQueryString = source.indexOf("?"); 
    if (hasQueryString > 0) { 
     source = source + '&'; 
    } else { 
     source = source + '?'; 
    } 
    source = source + 'rid=' + randStr; 
    var align = 'center'; 
    var top = 80; 
    if (width != undefined) { 
     var width = width; 
    } else { 
     var width = 805; 
    } 
    var padding = 20; 
    var disableColor = '#666666'; 
    var disableOpacity = 40; 
    var backgroundColor = '#FFFFFF'; 
    var borderColor = '#4b8bc8'; 
    var borderWeight = 2; 
    var borderRadius = 5; 
    var fadeOutTime = 300; 
    var loadingImage = '/resources/images/layout/loading2.gif'; 
    modalPopup(align, top, width, padding, disableColor, disableOpacity, backgroundColor, borderColor, borderWeight, borderRadius, fadeOutTime, source, loadingImage); 
} 

function modalPopup(align, top, width, padding, disableColor, disableOpacity, backgroundColor, borderColor, borderWeight, borderRadius, fadeOutTime, url, loadingImage){ 

var containerid = "innerModalPopupDiv"; 

var popupDiv = document.createElement('div'); 
var popupMessage = document.createElement('div'); 
var blockDiv = document.createElement('div'); 

popupDiv.setAttribute('id', 'outerModalPopupDiv'); 
popupDiv.setAttribute('class', 'outerModalPopupDiv'); 

popupMessage.setAttribute('id', 'innerModalPopupDiv'); 
popupMessage.setAttribute('class', 'innerModalPopupDiv'); 

blockDiv.setAttribute('id', 'blockModalPopupDiv'); 
blockDiv.setAttribute('class', 'blockModalPopupDiv'); 
blockDiv.setAttribute('onClick', 'closePopup(' + fadeOutTime + ')'); 

document.body.appendChild(popupDiv); 
popupDiv.appendChild(popupMessage); 
document.body.appendChild(blockDiv); 

if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x; 
var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number 
    if(ieversion>6) { 
    getScrollHeight(top); 
    } 
} else { 
    getScrollHeight(top); 
} 

document.getElementById('outerModalPopupDiv').style.display='block'; 
document.getElementById('outerModalPopupDiv').style.width = width + 'px'; 
document.getElementById('outerModalPopupDiv').style.padding = borderWeight + 'px'; 
document.getElementById('outerModalPopupDiv').style.background = borderColor; 
document.getElementById('outerModalPopupDiv').style.borderRadius = borderRadius + 'px'; 
document.getElementById('outerModalPopupDiv').style.MozBorderRadius = borderRadius + 'px'; 
document.getElementById('outerModalPopupDiv').style.WebkitBorderRadius = borderRadius + 'px'; 
document.getElementById('outerModalPopupDiv').style.borderWidth = 0 + 'px'; 
document.getElementById('outerModalPopupDiv').style.position = 'absolute'; 
document.getElementById('outerModalPopupDiv').style.zIndex = 100; 

document.getElementById('innerModalPopupDiv').style.padding = padding + 'px'; 
document.getElementById('innerModalPopupDiv').style.background = backgroundColor; 
document.getElementById('innerModalPopupDiv').style.borderRadius = (borderRadius - 3) + 'px'; 
document.getElementById('innerModalPopupDiv').style.MozBorderRadius = (borderRadius - 3) + 'px'; 
document.getElementById('innerModalPopupDiv').style.WebkitBorderRadius = (borderRadius - 3) + 'px'; 

document.getElementById('blockModalPopupDiv').style.width = 100 + '%'; 
document.getElementById('blockModalPopupDiv').style.border = 0 + 'px'; 
document.getElementById('blockModalPopupDiv').style.padding = 0 + 'px'; 
document.getElementById('blockModalPopupDiv').style.margin = 0 + 'px'; 
document.getElementById('blockModalPopupDiv').style.background = disableColor; 
document.getElementById('blockModalPopupDiv').style.opacity = (disableOpacity/100); 
document.getElementById('blockModalPopupDiv').style.filter = 'alpha(Opacity=' + disableOpacity + ')'; 
document.getElementById('blockModalPopupDiv').style.zIndex = 99; 
document.getElementById('blockModalPopupDiv').style.position = 'fixed'; 
document.getElementById('blockModalPopupDiv').style.top = 0 + 'px'; 
document.getElementById('blockModalPopupDiv').style.left = 0 + 'px'; 

if(align=="center") { 
    document.getElementById('outerModalPopupDiv').style.marginLeft = (-1 * (width/2)) + 'px'; 
    document.getElementById('outerModalPopupDiv').style.left = 50 + '%'; 
} else if(align=="left") { 
    document.getElementById('outerModalPopupDiv').style.marginLeft = 0 + 'px'; 
    document.getElementById('outerModalPopupDiv').style.left = 10 + 'px'; 
} else if(align=="right") { 
    document.getElementById('outerModalPopupDiv').style.marginRight = 0 + 'px'; 
    document.getElementById('outerModalPopupDiv').style.right = 10 + 'px'; 
} else { 
    document.getElementById('outerModalPopupDiv').style.marginLeft = (-1 * (width/2)) + 'px'; 
    document.getElementById('outerModalPopupDiv').style.left = 50 + '%'; 
} 

blockPage(); 

var page_request = false; 
if (window.XMLHttpRequest) { 
    page_request = new XMLHttpRequest(); 
} else if (window.ActiveXObject) { 
    try { 
     page_request = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try { 
      page_request = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (e) { } 
    } 
} else { 
    return false; 
} 


page_request.onreadystatechange=function(){ 
    if((url.search(/.jpg/i)==-1) && (url.search(/.jpeg/i)==-1) && (url.search(/.gif/i)==-1) && (url.search(/.png/i)==-1) && (url.search(/.bmp/i)==-1)) { 
     pageloader(page_request, containerid, loadingImage); 
    } else { 
     imageloader(url, containerid, loadingImage); 
    } 
} 

page_request.open('GET', url, true); 
page_request.send(null); 

} 

獲取此表單重置的最佳方法是什麼?

回答

1

使用input type reset

<input type="reset" value="reset button" /> 
+0

感謝您的答覆。我以前曾嘗試過,但沒有任何反應,我甚至沒有收到錯誤消息,並且已經測試過是否可能重置了parentForm表單,但它甚至沒有這樣做:\ – CPB07 2013-04-25 12:09:44