2011-03-21 5 views
0

질문이있는 양식이 있고 그 답은 확인란입니다. 마지막 답은 텍스트 상자의 확인란을 선택할 때 다른 옵션을 지정하십시오 가능하게하고 그것에 쓸 수 있습니다.텍스트 상자 값을 확인란 상자 값으로 바꿈

내 답변은 배열에 저장됩니다.하지만 이제는 문제가 있습니다. 양식을 제출할 때 옵션이 선택되었을 때 채워지는 텍스트 상자의 값으로 다른 옵션을 지정하십시오. . 당신은 실제로 입력 이름의 일부 기능을 이용할 수 있습니다

<table>  
<tr> 
     <td colspan="3" style="border-bottom:none">d.&nbsp;If you checked the boxes " very poor or poor clients", which reference point/benchmark do you use for estimating the poverty level of your clients? (Check all that apply):  </td> 
     <td> 
      <input type="checkbox" name="sdd1[]" value="Persons in the bottom 50% of those living below the poverty line established by the national government"/>Persons in the bottom 50% of those living below the poverty line established by the national government <br /> 
      <input type="checkbox" name="sdd1[]" value="Person living on less than US $1 a day international poverty line"/>Person living on less than US $1 a day international poverty line<br /> 
      <input type="checkbox" name="sdd1[]" id="check" onclick="disableMe('mfi_1_d_i_a',this)" value="mfi_1_d_i_a" />Other(please specify): 
      <input type="text" name="mfi_1_d_i_a" class="init" id="mfi_1_d_i_a" maxlength="30" disabled="disabled"/>  </td> 
</tr> 
</table> 

답변

2

: 여기에 내가 가지고있는 형태입니다.

  • 입력이 비활성화 된 경우 $_POST에 표시되지 않습니다.
  • 입력란에 이름이없는 경우 $_POST에 입력되지 않습니다.

귀하의 경우, "기타"체크 박스에서 이름을 지우면됩니다. 그리고 텍스트 상자의 이름을 sdd1[]으로 설정하면 모든 것이 제대로 작동합니다.

실제로 무슨 일

가 전송되고 있지 않습니다 '기타'체크 박스이지만, 그것이 체크 텍스트 상자를 사용할 수 있기 때문에 다른 선택하면, 다음 텍스트 상자의 값은 ...

희망을 보낼 것이다 말이된다.


귀하의 스크립트는 현재 자바 스크립트를 사용하므로 항상 권장되는 것은 아닙니다. 사용자가 Javascript를 사용하지 않고 웹 사이트로 이동하면 다른 텍스트 상자에 값을 입력 할 수 없습니다.

좀 더 일반적인 해결책은 텍스트 상자가 활성화 된 페이지를로드하고 자바 스크립트를 사용하지 않도록 설정하는 것입니다. 따라서 사용자가 자바 스크립트를 사용하지 않으면 텍스트 상자에 여전히 텍스트를 입력 할 수 있습니다. Javascript가있는 경우 Other 확인란을 선택/선택 취소하면 Javascript 사용/사용 중지 이벤트를 사용할 수 있습니다.

그런 다음 PHP에서 sdd1 배열의 "mfi_1_d_i_a"값이 있는지 확인하십시오 (현재있는 경우). 텍스트 상자의 값을 읽으십시오.

0

글쎄, 당신은 value을 체크 박스가 아닌 데이터베이스 나 서버 스크립트에 저장함으로써이 문제를 해결할 수 있다고 생각합니다.

<input type="checkbox" name="sdd1[]" value="1"/>Value 1 <br/> 
<input type="checkbox" name="sdd1[]" value="2"/>value 2 <br/> 
<input type="checkbox" name="sdd1[]" id="check" onclick="disableMe('mfi_1_d_i_a',this)" value="1"/>Other(please specify): 

<input type="text" name="mfi_1_d_i_a" class="init" id="mfi_1_d_i_a" maxlength="30" disabled="disabled"/> 

그리고 PHP 스크립트에

switch($_POST['sdd1']){ 
    case 1: 
     //store value1; 
     break; 
    case 2: 
     //store value2; 
     break; 
    case 3: 
     //store text value 
     break; 
    default: 
     //store some value; 
     break;        
} 
관련 문제