Я только что столкнулся с этой проблемой и сейчас использую следующую пару методов:
Во-первых, большинство браузеров используют «первую» кнопку отправки, найденную в форме, и, поскольку я хочу, чтобы моим действием по умолчанию было «Отправить», я добавляю следующее сразу после тега:
<input type="submit" name="Send" value="hidden for default enter action" style="display:none">
Он не отображается, но все еще используется в качестве кнопки отправки при нажатии клавиши ввода - кроме случаев, когда на iPhone по какой-то причине - возможно, webkit решит, что скрытую кнопку отправки следует игнорировать, поскольку она скрыта. Для этих браузеров я просто делаю следующее:
<input type="text" name="test" value="something"
onfocus="this.form.submitBtn.name='Send';"
onblur="this.form.submitBtn.name='Search';"
>
<input type="submit" id="submitBtn" name="Search" value="Search">
т.е. когда пользователь нажимает на поле ввода, он меняет имя кнопки по умолчанию на действие, которое я хочу; когда я щелкаю вне поля, он возвращается к оригиналу.