2011-12-15 49 views
0

我有一個項目獲得了一個「未定義指數」錯誤「和上面一樣」字段

<label for='usrad_resi'> 
Residential Address </label><input id='usrad_resi' name='usrad_resi' type='text' required> 

一旦點擊了「同上」複選框我設法在另一個文本框中的值的表單字段:

<label for='co_addrcheckl'> 
     Address </label><input type='checkbox' name='co_addrcheck' id='co_addrcheck' onSelect='sameAbove()'> Same as Above 
    </li> 
    <li> 
     <label for='usrad_co_addr'> 
     C/O Address </label><input id='usrad_co_addr' name='usrad_co_addr' type='text' required> 

這樣做的JavaScript是:

var loc = document.getElementById('co_addrcheck'); 
    var home = document.getElementById('usrad_co_addr'); 
    var post = document.getElementById('usrad_resi'); 
    loc.onclick = function(){if(loc.checked) 
    {  
     home.disabled = true; home.value = post.value;} 
    else 
    {home.disabled = false; home.select();}} 

我的問題是試圖訪問$ _ POST時['usrad_c o_addr']使用PHP我得到'未定義的索引:usrad_co_addr'錯誤。無論'usrad_resi'字段是否爲空,都會發生這種情況。 爲什麼會發生這種情況?

+0

是如何

聲明? – 2011-12-15 10:37:10

+0

2011-12-15 10:38:37

回答

0

您將該字段設置爲在JavaScript中禁用。已禁用的字段未提交。如果你想保持行爲,並仍然提交的價值,你可以創建一個隱藏的領域,並在那裏複製數據。

0

什麼hoppa說是真的。已禁用的字段未提交。你可以做的是使用hidden對象來發送這些數據。

<input id='usrad_co_addr' type='text' required /> 
<input id='usrad_co_addr_h' name='usrad_co_addr' type='hidden' /> 

而且在你的Javascript:

var loc = document.getElementById('co_addrcheck'); 
    var home = document.getElementById('usrad_co_addr'); 
    var home_h = document.getElementById('usrad_co_addr_h'); 
    var post = document.getElementById('usrad_resi'); 
    loc.onclick = function(){ 
     if(loc.checked) 
     {  
      home.disabled = true; 
      home.value = post.value; 
     } 
     else 
     { 
      home.disabled = false; 
      home.select(); 
     } 
     home_h.value = home.value; 
    }