Я создаю приложение Lift, где одна из страниц основана на примере «Загрузка файлов» из демонстрации Lift: http://demo.liftweb.net/file_upload.Как изменить действие формы в Поднимите
Если вы посмотрите на source code for that page ... Вы видите, что есть лифт «фрагмент» тег, окружая два «выбрать» теги:
<lift:snippet type="misc:upload" form="post" multipart="true">
<choose:post>
<p>
File name: <ul:file_name></ul:file_name><br >
MIME Type: <ul:mime_type></ul:mime_type><br >
File length: <ul:length></ul:length><br >
MD5 Hash: <ul:md5></ul:md5><br >
</p>
</choose:post>
<choose:get>
Select a file to upload: <ul:file_upload></ul:file_upload><br >
<input type="submit" value="Upload File">
</choose:get>
</lift:snippet>
Идея заключается в том, что когда пользователь попадает на страницу для в первый раз (т. е. запрос GET), тогда Lift отобразит форму для загрузки файла. Когда пользователь отправляет форму (т. Е. Запрос POST на ту же страницу), тогда Lift вместо этого отображает результат обрабатываемого файла.
С моим приложением новая морщина заключается в том, что мой «результат» POST-вида должен быть также содержит форму. Я хочу, чтобы обеспечить ввод текста для пользователя, чтобы ввести адрес электронной почты, и кнопки отправки, что при нажатии будет по электронной почте информации о обработанном файле:
...
<choose:post>
<p>
File name: <ul:file_name></ul:file_name><br >
MIME Type: <ul:mime_type></ul:mime_type><br >
File length: <ul:length></ul:length><br >
MD5 Hash: <ul:md5></ul:md5><br >
</p>
<!-- BEGIN NEW STUFF -->
Output: <br/>
<textarea rows="30" cols="100"><ul:output></ul:output></textarea>
<br/><br/>
Email the above output to this email address:<br/>
<ul:email/><br/>
<input type="submit" value="Email"/>
<!-- END NEW STUFF -->
</choose:post>
...
Однако, как GET и версия POST этой страницы обернутый той же формой, созданной с помощью Lift, которая имеет «действие», установленное в том же фрагменте в обоих случаях. Как я могу изменить это так, что в версии POST действие формы изменяется на другой фрагмент?
В типичной веб-среде я бы подошел к чему-то подобному с событием «onclick» и двумя основными строками JavaScript. Тем не менее, я даже не начал обдумывать вокруг Lift's ... err, интересные представления о написании JavaScript в Scala. Возможно, мне нужно спуститься по этому маршруту, или, может быть, есть лучший подход.