2016-08-25 77 views
0

我有一个带有多个提交按钮的表单,然后使用$ _POST信息进行处理。当按下回车键时的默认行为当然是页面上的第一个按钮被“点击”,但是我希望点击的按钮取决于用户在单击它时在表单中的位置。下面显示了一段php代码的摘录摘录。请注意,我已经尝试使用onkeydown/onkeypress/onkeyupp和使用事件keycode(它等于13)然后document.getElementById(“buttonName”)。click()但这似乎并不工作 - 第一个按钮形式仍然是一个点击。按下带有多个提交按钮的回车键

if (isset($_POST['submit'])) { 
    // move to next page 
} 

if (isset($_POST['add'])) { 
    // add item to this page 
} 

$html .= '<input type="text" class="text" name="submitInfo" id="submitInfo">'; // if enter is clicked while in this textbox, the submit button should be clicked 

$html .= '<input type="text" class="text" name="OptionalAddInfo" id="OptionalAddInfo">'; // if enter is clicked while in this textbox, the add button should be clicked 

$html .= '<input type="submit" class="button" name="add" id="add" value="Add" onClick="return addItem();">'; 

$html .= '<input class="button" type="submit" name="submit" id="submit" value="Submit" onClick="return submitForm();">'; 

echo $html; 
+1

你为什么不使用两种形式?或者关于你使用'onkeydown'来测试文本字段中的键13的尝试,你是否也取消了keydown事件的默认行为? – nnnnnn

+0

请添加您的JavaScript代码以及 –

+0

是的,我也取消了JavaScript的默认行为,然后告诉它单击另一个按钮。 多种形式可能最终成为我不得不选择的选项,但由于几个原因,它不是我的首选。首先,所有这些信息都是针对这个“形式”的,因为我试图暗示有必要提交信息,但也有一些可以添加的可选信息(这需要根据用户输入提取一些信息)。所有这些都会被提交。所以所有的信息真的属于一起。布局也使多种形式不理想。 – John

回答

1

使用jQuery.Hotkeys一起工作回车键hotkeys

jQuery(document).bind('keydown', 'return', function() { 
        $("body #submit").trigger("click"); 
        return false; 
       }); 
相关问题