Спасибо за хедз-ап Леонид. Вот код:
text = "";
DialogInput[{TextCell["Try to type a text with linebreaks :-)"],
InputField[Dynamic[text], String, FieldSize -> {30, 6}],
DefaultButton[DialogReturn[text]]},
NotebookEventActions -> {"ReturnKeyDown" :>
FrontEndExecute[NotebookWrite[InputNotebook[], "\n"]]}]
Оператор FrontEndExecute немного проще в этой версии.
Кстати, чтобы очистить действие клавиши возврата по умолчанию для NotebookEventActions, вы можете использовать NotebookEventActions->{}
. Это может быть полезно для остановки исчезновения диалогов при вводе.