2012-02-10 22 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