HTML フォームを作成し、ユーザーがフォームに入力した内容を返す JavaScript 関数を作成したいと考えています。私の愚かな最初の試みは次のようなものでした:
function getInput() {
$('#somediv').html( "<input type='button' id='mybutton' name='Click Me'></input>" );
$('#mybutton').click( function() { return "result"; } );
}
result = getInput();
alert( result );
(実際の状況はもっと複雑です。ユーザーは最初にテキストを入力してから、いくつかの異なるボタンから選択する必要があり、戻り値は入力されたテキストと選択したボタンによって異なりますが、それらは周辺の問題だと思うので省略しました)。これを記述どおりに実行すると、アラート「結果」が必要な場合に「未定義」というアラートが表示されます。基本的に、明示的にそうするように指示されるまで、関数を返さないようにしたいのです。これを達成する方法はありますか?そうでない場合、上記と精神的に似ている最も簡単な回避策は何ですか?
非常によく似た質問がここで提起されました: JavaScript が関数の実行を一時停止して、ユーザー入力を待ちます。残念ながら、特定のケースに適応させるのに十分なほど応答を理解できませんでした。おそらく、誰かがその方法をアドバイスするか、ゼロから始めることもできます。