1

この JavaScript 関数は、私が呼び出している Web ページにあります。

function getChecked(button, form) {

 var name;
 for (i = 0; i < document.forms['CheckForm'].list.length; i++) {
 name = "Check" + (i+0);
 if(document.forms['CheckForm'].list[i].checked == true) { 

 if(name == "Check0")
 form.Check0.value = "2437315";

 else if(name == "Check1")
 form.Check1.value = "2437104";

 else if(name == "Check2")
 form.Check2.value = "2434936";

 else if(name == "Check3")
 form.Check3.value = "2434574";

 else if(name == "Check4")
 form.Check4.value = "2433541";

 else if(name == "Check5")
 form.Check5.value = "2426021";

 }

チェックが 6 つある場合もあれば、7 つある場合も 3 つある場合もあります。Check(Somenumber) の数を数えて、Check0=0&Check1=0&Check2=0 などの投稿フィールドを作成するのに助けが必要です。

各チェックを異なる値に設定するのではなく、チェックボックスの数を数えてから 0 に設定する必要があります。PHP を使用してページを cURL します。

4

2 に答える 2

0

JavaScript では、次のようなことができます。

var form = top.document.forms.CheckForm;
var numFormElements = form.length;
var counter = 0;
for( i = 0; i < numFormElements && !foundItem; i++ )
  {
    var obj = form[i];
    if( obj.type == 'checkbox' )
    {
      counter++;
    }
  }
 alert( counter ); // or whatever else

追加する必要があります... サーバー側の言語が入力の種類を知る方法はないと思います。その情報は、クライアント側の手段を介してユーザーの Web ブラウザーから取得する必要があります。

于 2013-01-19T02:24:34.503 に答える
0

そのまま文字列を作成するだけです。これを行うには他の方法があります (jQuery を使用し、「this」を使用して循環することをお勧めします)。これが、既存のコードで行うことです。

//set a string
var values = '';

if(name == "Check0") {
    form.Check0.value = "2437315";
    values += 'Check0=' + form.Check0.value;
} else if(name == "Check1") {
    form.Check0.value = "2437315";
    values += 'Check1=' + form.Check1.value;
}
于 2013-01-19T02:37:17.923 に答える