2012-02-10 20 views
2

这可能是一个迟缓的问题,但是在提交表单时,是否有一种模仿锚点标记行为的优雅方式?我希望我的用户能够在提交表单时按住控制键,并在新窗口中打开结果。现在我正在使用一种时髦,不可靠的javascript解决方法,我很尴尬地在这里发布。任何帮助表示赞赏。提交表单时模仿锚点行为(当提交'ctl'时出现新窗口)

回答

1

如果你使用jQuery,那么你可以这样做。比方说,你有形式

<form id="test"> 
    (...) 
    <input type="submit" id="test_submit" /> 
</form> 

绑定​​和keyup事件,像这样

$('#test').keydown(function(e) { 
    if (e.keyCode == /* here put the key code of CTRL which I don't remember */) 
     $(this).data('ctrl', true); 
}); 
$('#test').keyup(function(e) { 
    $(this).data('ctrl', false); 
}); 

,然后把手上的click事件提交按钮

$('#test_submit').click(function(e) { 
    e.preventDefault(); 
    // do the serialization and post via AJAX 
    if ($('#test').data('ctrl')) 
    { 
     // do the new window creation 
    } 
    else 
    { 
     // update this window url 
    } 
}); 

我希望这工程,因为我没有测试它。 :)

+0

没有很好的工作,但它做了一些小调整的伎俩。像往常一样,jQuery提供了一个更加优雅的方式来完成相同的工作。谢谢你让我走上正确的道路! – Stanton 2012-02-11 00:37:39