0

ユーザー側を検証する必要がある動的フォームがあります。フォームのすべての部分に入力する必要はありませんが、行の1つの列に入力する場合は、残りの列に入力する必要があります。たとえば、CC番号を入力する場合は、金額、承認、日付も入力する必要がありますが、何も入力しない場合は、[次へ]をクリックしてください。これは、必要なすべての情報が確実に収集されるようにするためです。これを行う方法について何か提案はありますか?

スペースを節約するために、JSFiddleにコードを配置しました。これは、フォーム/テーブルがどのタイプのフォーマットであるかを示すためだけのものです。

http://jsfiddle.net/8z3Sy/

4

1 に答える 1

0

1 つのアイデアは、クリック イベントで、各行のフィールドの数と空のフィールドの数を比較することです。

var fields = $(this).find('td input').length; 
var filled_fields =  $(this).find('td input:text').filter(function() { return this.value != ""; }).length; 

if (fields == filled_fields || filled_fields == 0) 
{
    //Continue on with the next table (all row data is filled out OR all row data is empty)
}
else 
{
    //There is a field missing on the pertaining row
    //Stop Propagation
}
于 2012-08-14T23:08:30.250 に答える