Имеется страница с двумя фреймами. проблема в одном из них, когда в поле типа Text ввожу инфу какую, и нажимаю Enter то происходит толи обновление толи чтоещ, но не событие Submit. Привожу код: PHP: <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251'> <LINK REL=STYLESHEET TYPE='text/css' HREF='../css/Xstyle.css'> <script LANGUAGE="JavaScript"> function res() { var res1, res2, res3; res1 = form1.userfile.value; if (form1.txt) { res2 = form1.txt.value; } else res2 = ""; res3 = form1.flag.value; priznOK = "true"; priznCancel = "false"; if (res3=="false") {res1=""; res2="";} window.returnValue = [res1, res2]; window.close(); } function canc() { res1 = ""; res2 = ""; priznOK = "false"; window.returnValue = [res1, res2]; window.close(); } function unl() { param1=form1.userfile.value; if (priznOK!="true") if (form1.flag.value=="true") { window.open('http://buimain/toropkin/news/editor/upload4.php?prm1='+param1); } } </script> </head> <BODY onload="document.body.focus();priznOK='false';" onunload="unl()"> <?php //загружаем на сервер прикрепленные файлы include "../inc/funcs.php"; $dest=''; if ($userfile<>'none') {if (is_uploaded_file($userfile)) { // если есть русские буквы в названии файла заменяем их на латинские $HTML_SPECIAL_CHARS = Array ('ё' => 'jo','Ё' => 'JO','ю' => 'u','а' => 'a','б' => 'b','ц' => 'c','д' => 'd','е' => 'e','ф' => 'f','г' => 'g','х' => 'h','и' => 'i', 'й' => 'i','к' => 'k','л' => 'l','м' => 'm','н' => 'n','о' => 'o','п' => 'p','я' => 'ya','р' => 'r','с' => 's','т' => 't','у' => 'u','ж' => 'g','в' => 'v','ь' => '!','ы' => 'y','з' => 'z','ш' => 'sh','э' => 'a','щ' => 'sch','ч' => 'ch','ъ' => '!','Ю' => 'U', 'А' => 'A','Б' => 'B','Ц' => 'C','Д' => 'D','Е' => 'E','Ф' => 'F','Г' => 'G','Х' => 'H','И' => 'I','Й' => 'I','К' => 'K','Л' => 'L','М' => 'M','Н' => 'N','О' => 'O','П' => 'P','Я' => 'YA', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ж' => 'G', 'В' => 'V', 'Ь' => '!', 'Ы' => 'Y', 'З' => 'Z', 'Ш' => 'SH', 'Э' => 'A', 'Щ' => 'SCH', 'Ч' => 'CH', 'Ъ' => '!', ' ' => '_'); foreach ( $HTML_SPECIAL_CHARS as $key=>$value ){ $userfile_name = str_replace($key,$value,$userfile_name);} //указываем куда и с каким именем будет копироваться файл $dest = "../data/files/".$userfile_name; //различные проверки if (file_exists($dest)) {EMess('Файл с таким именем уже существует, переименуйте файл и попробуйте снова'); $flag="false"; Exx1(NULL); } else { //собственно закачка файла if (move_uploaded_file($userfile, $dest)) {$flag="true"; } else { EMess('Ошибка сохранения файла'); unlink('../data/files/'.$userfile_name); //Удаляем успешно закачанные файлы $flag="false"; Exx1(NULL); } } } else {EMess('Ошибка закачки файла'); unlink('../data/files/'.$userfile_name); //Удаляем успешно закачанные файлы $flag="false"; Exx1(NULL); } } else {Mess('Прикрепленных файлов нет, или указанного файла не существует'); $flag="false";} echo "<form name=\"form1\">"; echo "<input type='hidden' name='userfile' value=".$userfile_name.">"; echo "<input type='hidden' name='flag' value=".$flag.">"; if ($priznselect=="false") { echo "<table width=\"100%\" cellspacing=\"0\">"; echo "<tr id=\"box\">"; echo "<td>"; echo "Введите текст ссылки"; echo "</td>"; echo "<td>"; echo "<input name=\"txt\" type=\"text\" size=\"75\">"; echo "</td>"; echo "</tr>"; echo "</table>"; } echo "<table width=\"100%\" cellspacing=\"0\">"; echo "<tr id=\"box\">"; echo "<td align='left' width='75%'>"; echo "</td>"; echo "<td align='left' width='5%'>"; echo "<input type='submit' name='ok' width='50' id=\"butt\" value=\"OK\" onClick=\"res()\">"; echo "</td>"; echo "<td align='left' width='20%'>"; echo "<input type='button' name='cancel' width='50' id='butt' value='Отмена' onClick=\"canc();\">"; echo "</td>"; echo "</tr>"; echo "</table>"; ?> </form> </body> </html>
мне кажется, что для отлова ошибки следует сократить этот код, удалив не относящиеся к отправке части, или выполнять разные этапы по отдельности. втыкать же в текст программы на сто строк, в уме парся хтмл, яваскрипт и пхп - это для роботов задача. не для людей.
именно submit и происходит, но поскольку форме не сказано action="..." то запускается тоже самый скрипт. p.s. кстати я так и не понял что вы им хотели осуществлять и при чем тут "move_uploaded_file($userfile, $dest)" :lol: