我使用以下javascript函数,

function get_check_value(formId,checkboxId,TxtboxId)
{
alert(formId);

var c_value = "";
for (var i=0; i < document.formId.checkboxId.length; i++)
   {
   if (document.formId.checkboxId[i].checked)
      {
      c_value = c_value + document.formId.checkboxId[i].value + "\n";
      }
   }
   alert(c_value);
   document.getElementById(TxtboxId).value= c_value;
  // alert(c_value.value);


}

我的php页面上有这个

<form name="orderform" id="orderform">
<input type="text" name="chId" id="chId" >
    <table align="center" border="0">
        <tr>
            <td>Country</td>
        </tr>
    <? foreach($country as $row){   ?>
    <tr>
    <td><?= $row['dbCountry']; ?></td>
    <td><input type="checkbox" name="CountrycheckId" id="CountrycheckId" value="<?= $row['dbCountryId']; ?> " onClick="get_check_value('orderform','CountrycheckId','chId')"></td>
    <? }  ?>
    </tr>
    </table>
</form>


我在javascript函数内部的警报中获取表单名,checkboxid,textid ...但是
问题是线
for (var i=0; i < document.formId.checkboxId.length; i++)

Webdeveloper工具栏显示此错误

document.formId is undefined

最佳答案

您需要通过getElementById(formId)访问表单,如下所示:

  function get_check_value(formId,checkboxId,TxtboxId)
  {
     alert(formId);

     var c_value = "";
     for (var i=0; i < document.getElementById(formId).checkboxId.length; i++)
        {
        if (document.formId.checkboxId[i].checked)
           {
           c_value = c_value + document.formId.checkboxId[i].value + "\n";
           }
        }
        alert(c_value);
        document.getElementById(TxtboxId).value= c_value;
       // alert(c_value.value);
  }


编写document.formId时,Javascript将在使用document.getElementById(formId)时查找名称为(字面意义为“ formId”)的文档的属性。Javascript将查找其id为formId所持有变量的HTML元素。

09-26 23:39