[英]Drupal PHP Form Submit On Enter
我正在尝试对Drupal 7站点内的PHP表单进行故障排除。 目前,仅当用户单击按钮时才能提交表单。 我想使用“ Enter”键启用提交。 我怎样才能做到这一点?
以下是相关代码:
$form['search']['search_button'] = array(
'#type' => 'button',
'#value' => 'Search',
'#ajax' => array(
'callback' => 'ajax_search_callback',
// 'wrapper' => 'search-results',
'wrapper' => 'search',
'method' => 'replace',
'effect' => 'fade',
'event' => 'click',
),
);
我怀疑我需要更改“事件”字段或添加其他字段。
我通过在要触发提交事件的文本字段上添加以下代码来实现此目的:
$form['field_name']['#attributes']['onkeypress'][] if (event.keyCode == 13) {jQuery('.submit-selector').mousedown();}
这为我工作:
$form[FORM_ITEM]['#attributes']['onkeypress'][]="jQuery('input').keydown(function(e) {if (e.keyCode == 13) {e.preventDefault(); jQuery('#edit-submit').mousedown();}});";
我不是JS方面的专家,但是这就是我本人要解决的问题。
我没有对其进行测试,但建议您在js文件中添加类似以下语句的内容
$( document ).ready(function() {
$( "#target" ).keypress(function() {
if ( event.which == 13 ) {
$('my_form').submit();
}
});
});
基本上,您查找按键事件13,然后提交表单。
我希望您的表单没有任何textarea标签,因为您可能会遇到一些用户问题。
编辑:在哪里添加Javascript?
我假设您正在编写一个自定义模块来生成表单,因此可以将路径添加到模块的.info文件,或使用函数drupal_add_js(“ your_path_to_js_file”); 这可能是一个更好的解决方案。
希望对您有所帮助。
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.