내 코드는 숨겨진 iframe을 사용하여 업로드 한 다음 내 웹 페이지에 최대 4 개의 사진을 표시합니다.<input>은 업데이트되지 않습니다
아래 코드는 얼마나 많은 이미지가 업로드되었는지 추적하기 위해 현재 이미지 수에 1을 더합니다. 이 값을 내 웹 페이지의 간단한 입력 컨트롤 인 "thumbImageCount"에 저장하려고하면 입력 컨트롤의 값이 업데이트되지 않습니다.
아래의 PHP 코드에서 'parDoc'을 사용하는 이유는이 웹 페이지의 숨겨진 iframe 내부에서이 모든 PHP 코드가 발생하고 있으므로 iframe의 상위 문서, 내 웹 페이지의 문서 객체, (나는 방법의 Ajaxie 정렬의 '숨겨진 iframe을'techique을 사용하고 있습니다)하지 iframe이의 문서 : iframe이 부모 (내 웹 상에 '경고'상자를두고
echo '<script type="text/javascript">'."\n";
echo 'var parDoc = parent.document;' . "\n";
$curImageCount = $curImageCount + 1;
$outStr = "parDoc.getElementById('justOpenedImage').innerHTML = '<div><img id=\'editImage\' class=\'normSizeImg\' src=\'$fullImagePath\' /></div>';";
$outStr3 = "\n parDoc.getElementById('picture_path_hidden').value = '" . $fullImagePath . "';";
$outStr4 = "\n parDoc.getElementById('" . $thumbWindowName . "').src = '" . $fullImagePath . "';";
$outStr5 = "\n parDoc.getElementById('" . $thumbWindowName . "').style.display = 'inline-block';";
$outStr6 = "\n parDoc.getElementById('thumbImageCount').value = '" . $curImageCount . "';";
$outStr7 = "\n alert('photoPreview.php, the new image count (aka curImageCount) is: " . $curImageCount . "');";
echo $outStr;
echo $outStr3;
echo $outStr4;
echo $outStr5;
echo $outStr6;
echo $outStr7;
echo "\n".'</script>';
공지 사항 outStr7에 페이지의) 문서. ALERT는 이미지 수가 성공적으로 증가했다고 전합니다.
outStr6에서 id가 'thumbImageCount'인 입력 요소에 동일한 이미지 개수를 저장합니다.
내 머리 속에, 이후에 나오는 outStr7의 경고 상자가 새로 증가하는 이미지 개수를 표시하고 있으므로 내 페이지에서 'thumbImageCount'입력 컨트롤을 사용해야합니다.
아닙니다. 다음은 내 웹 페이지의 'thumbImageCount'에 대한 html입니다.
<input id="thumbImageCount" name="thumbImageCount" type="hidden"
value="<?php echo $imageCount ?>" />
내 웹 페이지에서 이미지를 업로드하고 표시 할 수 있습니다. 이렇게하려면 페이지가 이 아니고이 웹 서버에 다시 게시됩니다 (숨겨진 iframe 기술을 사용하여 피할 수 있음). 그 위에 알 동안
그래서 나는 0 (영)입니다 'imageCount'라는 PHP 변수에 내 thumbImageCount 입력 제어를위한 HTML 태그의 초기 값을 설정 - 내 웹 페이지 하나를로드하기 때문에 시간이 0으로 PHP 변수에 의해 초기화 된 후 그 입력 contro의 값는, (0), 위에서 내 숨겨진 iframe 대응의 PHP 코드의 선으로 업데이트 할 수 있어야한다 :
$outStr6 = "\n parDoc.getElementById('thumbImageCount').value = '" . $curImageCount . "';";
그러나 그것은 아니다 사고. 4 개 이미지를로드 한 후, 그 'thumbImageCount'입력 제어 4의 값으로 업데이트되어 있는지 확인하기 위해 내 웹 페이지에 '페이지 소스보기'를 수행하고, 이것은 내가 볼 것입니다 :
<input id="thumbImageCount" name="thumbImageCount" type="hidden"
value="0" />
그래서 위의 PHP 코드에서 'outStrs'를 모두 살펴 본다면 이 모두 작동하고 있습니다. - 이미지가 내 웹 페이지에 잘 표시됩니다. outStr6 만 실패합니다.
무엇이 여기에 있습니까? 내 웹 페이지에서 올바르게 업데이트하기 위해 'thumbImageCount'가 필요한 이유는 새로 업로드 한 이미지에 '선택한 이미지'를 설정해야하기 때문입니다.
감사합니다. 숨겨진 iframe 기법을 사용하여 동적으로 페이지를 업데이트 할 때 어떤 함정을 생각해 보셨습니까? 그것은 잘 작동합니다. – CFHcoder
값을 확인한 후 값이 증가합니다. 그러나 위의 경고 상자를 표시 한 후 *를 증가시킵니다. 왜 그런가? 그것이 코드를 깨뜨리는 것이고, 증가는 늦게 발생합니다. – CFHcoder
도메인 원점 제한, GET 이외의 다른 요청을 할 수 없다는 것, 일반적인 WTF 요소 ... 분명히 많은 일들이 있지만, 그것은 마치 깡통 따개로 못을 치는 것과 같습니다. – Brian