私は実用的な解決策を見つけようとしていますが、現時点では何も役に立ちません。私は次のフォームを持っています:
<form id="searchform" action="/search" onsubmit="putText()">
<div class="section" >
<div class="edit"><div ContentEditable = "true" id="text"></div></div>
<div class="control" onclick="sbmt()"></div>
</div>
<input id="s" name="q" class="submit" type="submit" value="Send">
</form>
次のjsで:
$(window).load(function(){
$(document).ready(function() {
$('.edit').keydown(function(e) {
if(e.which == 13) {
//debugger;
$(this).blur().next().focus();
return false;
}
});
})
});
function ElementInit() {
new SectionalElement({
sectionalNodeClassName: 'section',
controlNodeClassName: 'control',
background: '#f4fa58'
}, 'sectional_element');
return true;
}
function putText() {
document.getElementById('s').value = document.getElementById('text').textContent;
return true;
}
function sbmt() {
document.getElementById("searchform").submit();
}
(また、jquery-1.8.3.jsを使用します)クエリは「mysite.com/search?q="」のようになります。必要なのは、単純な入力ではなく、送信ボタンとしてdiv class = "control"を使用することだけです(入力ボタンをdivに置き換えるだけです)。入力ボタンを押すとすべて問題ありませんが、DIV class = "control"を使用すると、送信が機能しません。フォームは送信されますが、クエリのテキストは表示されません。送信divはサードパーティのAPIの一部であるため、入力だけを使用することはできません。
提案をありがとう。