Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用JavaScript验证动态生成的输入框_Php_Javascript_Html_Ajax_Validation - Fatal编程技术网

Php 如何使用JavaScript验证动态生成的输入框

Php 如何使用JavaScript验证动态生成的输入框,php,javascript,html,ajax,validation,Php,Javascript,Html,Ajax,Validation,嗨,我有一个表单,它有一个ajax函数,当用户输入代码并从组合框中选择一个值时,它会附加数据。由于附加的数据具有动态行,我希望验证这些输入框,以便用户只能输入诸如01、02、03…10之类的值,如果用户尝试输入大于10的值,则应显示一个警报框。到目前为止,我有这样做的脚本,但由于name属性不断更改,验证似乎不起作用。有人能帮我吗 以下是我的JavaScript代码: function getXMLHTTP() { //function to return the xml http object

嗨,我有一个表单,它有一个ajax函数,当用户输入代码并从组合框中选择一个值时,它会附加数据。由于附加的数据具有动态行,我希望验证这些输入框,以便用户只能输入诸如01、02、03…10之类的值,如果用户尝试输入大于10的值,则应显示一个警报框。到目前为止,我有这样做的脚本,但由于name属性不断更改,验证似乎不起作用。有人能帮我吗

以下是我的JavaScript代码:

function getXMLHTTP() { //function to return the xml http object
  var xmlhttp = false;
  try {
    xmlhttp = new XMLHttpRequest();
  } catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e1) {
        xmlhttp = false;
      }
    }
  }
  return xmlhttp;
}

function getfunit2(makhcode, cmbmon) {
  var strURL = "subjsele2.php?makhcode=" + document.nigran.makhcode.value + "&cmbmon=" + document.nigran.cmbmon.value;
  var req = getXMLHTTP();
  if (req) {
    req.onreadystatechange = function () {
      if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
          document.getElementById('suboth').innerHTML = req.responseText;
        } else {
          alert("There was a problem while using XMLHTTP:\n" + req.statusText);
        }
      }
    }
    req.open("POST", strURL, true);
    req.send(null);
  }
}
以下是我的PHP代码:

<?php
$makhcode=$_GET["makhcode"];

$cmbmon=$_GET["cmbmon"];
$monno1 = "mon$cmbmon";


$con = mysql_connect('localhost', '****', '*****');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("db", $con);

$scomp = mysql_query("SELECT * FROM subject WHERE compulsory !='1' ORDER BY ordby")or die(mysql_error());
if(mysql_num_rows($scomp)>0){
 echo "<table>";
   while($csub = mysql_fetch_assoc($scomp)){
         $msubjcode = $csub["code"];

         $csubqry = mysql_query("SELECT * FROM nigstat WHERE makhcode='".$makhcode."' AND subcode='".$msubjcode."'") or die(mysql_error());
         $fetchmon = mysql_fetch_array($csubqry) ;
         $mmonval =  $fetchmon["$monno1"];

    echo "<tr>";
    echo "<td width='200px'><font color='#FF0033'><strong>".$csub[name]."</strong></td><td><input id='s_id' name='s_$csub[code]' type='text' onkeypress=\"return chknum()\" size='1' maxlength='2' value='$mmonval'></td><input type='hidden' name='$mmonval' size='3' maxlength='3'>";
    echo "</tr>";

}


echo "</table>";
 }

mysql_close($con);
?>

使用此函数验证代码

<input type="text" id="fname" onkeyup="validate_code(this)">

 function validate_code(that)
 {

   if(isNaN(that.value)==true || that.value>10)
    {
        that.value='';
        alert('enter a valid value');
    }
     return true
  }

函数验证_代码(该代码)
{
如果(isNaN(that.value)==true | | that.value>10)
{
值='';
警报(“输入有效值”);
}
返回真值
}

链接到示例

使用此功能验证代码

<input type="text" id="fname" onkeyup="validate_code(this)">

 function validate_code(that)
 {

   if(isNaN(that.value)==true || that.value>10)
    {
        that.value='';
        alert('enter a valid value');
    }
     return true
  }

函数验证_代码(该代码)
{
如果(isNaN(that.value)==true | | that.value>10)
{
值='';
警报(“输入有效值”);
}
返回真值
}

链接到示例

y是否改为使用名称id进行中继。我使用的是id,但即使在您希望验证的实际位置,该id也不起作用?服务器或客户端?你是否使用名称来代替id。我使用的是id,但实际上在你想要验证的地方,它也不起作用?服务器还是客户端?是否需要通过Id传递参数,如getelements??您希望验证的位置,我假设makhcode是您希望验证的位置。我希望验证php文件this one document中生成的输入字段。getElementById(“s_1”)。onkeyup=function(){var input=parseInt(this.value);if(input10)alert(“值应该在0-10之间”);return;}请看,我正在使用它来验证输入,但不知何故,它不起作用。那么,这段代码是否能够验证动态生成的文本框?是否需要通过Id传递诸如getelements之类的参数?您希望验证的位置是哪个,我想makhcode是您希望验证输入的位置在php文件中生成的ld。getElementById(“s_1”).onkeyup=function(){var input=parseInt(this.value);if(input10)alert(“值应介于0-10之间”);return;}看,我用它来验证输入,但不知何故它不工作,所以这段代码能够验证动态生成的文本框吗??