2016-12-27 5 views
0

ページ上のフォームの一部がページの幅に基づいて送信されないようにするにはどうすればよいですか?フォームが幅に基づいて送信されないようにする

即ちページが900px1200px間にある場合にのみ、クラス.regular-formと入力/選択項目は、フォームの送信に含まれることになる構成。

+0

あなたは、ソリューションのカップルを持っているが、私はより多くの詳細が完全にあなたは、これが機能する想像どのように理解することが必要とされていると思います。 –

+0

あなたの質問が述べられているところでは、この機能は意味をなさない。私はこれが反応しやすいフォームであると推測しています。なぜなら、それらの入力がそれらの幅では見えないからです。その場合は、「この入力を表示する必要がありますか」を複製しないでください。ロジックを「私はこの入力を提出すべきですか?論理。その代わりに、CSSのメディアクエリを使用して表示/非表示にし、JSを使用して「非表示のものを送信しない」と言います。例:http://stackoverflow.com/questions/1374147/how-to-avoid-sending-input-fields-which-are-hidden-by-displaynone-to-a-serverこれは、保守がずっと簡単です。 –

答えて

2

DOMの一部です。これにより、投稿に送信されないようになります。

あなたはそうするように、このコードを使用することができます:

if($(window).width() > 900 && $(window).width() < 1200) { 
    $('input,select,textarea').not('.regular-form').remove() 
} 
+0

OP –

+1

に従って「not( '。regular-form')。remove()」とする必要があります。正解:)それに感謝します! – Dekel

+0

JSマスターではありません。それで、これは実行可能なコードでしょうか? $( 'input、select、textarea')。not( '。regular-form')。remove($(window).width(990)); ' ' – CRAIG

0

あなたのサイズを動的に変更されているか、そう簡単な解決策は、このようなものになるだろうではないウィンドウを説明するために必要な場合、私は知りません:あなたは、関連する要素がないことを確認することができます

if($(window).width() > 900 && $(window).width() < 1200) 
{ 
    $('.regular-form').prop('disabled', false); 
} 
+1

@Dekelなぜですか?私にはそうすべきだと思う。 https://www.w3.org/TR/html401/interact/forms.html#disabled –

関連する問題