0

送信するフォームがあり、フォームデータを というファイルに投稿しますinvoice-detail.php。同じインスタンスで、関数を呼び出していくつかの値を処理したいと考えています。私は同じことを試みましたが、 うまくいきonClickません。

以下のコードを確認してください。両方のアクションを同時に実行する方法を教えてください。

<?php include 'db.php'; ?>
<html>
<head>
<title>INVOICE Header</title>


<SCRIPT language=JavaScript>

function showda()
{
alert ("Show function !");
}

function showtin(str8)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","invtin.php?q8=" + str8,true);
xmlhttp.send();
}

function showcst(str10)
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.open("GET","invcst.php?q10=" + str10,true);
xmlhttp.send();
}

</script>


</head>
<body>

    <?php

echo "<form name='form1' method='post' target='mainFrame' action='invoice-detail.php'>";
echo "<table width='829' height='100' border='0' align='center' cellpadding='0' cellspacing='2'>";

echo "<tr>";
echo "<td height='39' width='99' class='sty1'>Invoice No</td>";

$res=mysql_query("select * from INVHDR_draft WHERE usr='$user'");
$row = mysql_fetch_assoc($res);
$tincst=mysql_query("SELECT TIN_No, CST_No, ECC_No FROM ACMAST where Ac_code='$cat'");
$tincst2=mysql_fetch_assoc($tincst);

echo "<td width='140'><input name='Inv_no' type='text' size='6' maxlength='6' value='$row[Invno]' onBlur=\"if (this.value == '' || this.value == 0) {alert('Invoice No. is required'); f1.Inv_no.focus();}\" onchange=\"showinvno(this.value);\"></td>";
echo "</tr>";

echo "<tr>";
echo "<td height='39' width='99' class='sty1' valign='bottom'>TIN</td>";
echo "<td width='140' valign='bottom'><input name='tin' type='text' size='15' maxlength='15' value='$tincst2[TIN_No]' onchange=\"showtin(this.value);\"></td>";

echo "<td width='203' class='sty1' valign='bottom'>CST ";
echo "  <input name='cst' type='text' size='15' maxlength='15' value='$tincst2[CST_No]' onchange=\"showcst(this.value);\"></td>";
echo "<td width='150' class='sty1' valign='bottom'>ECC No. ";
echo "  <input name='ecc' type='text' size='15' maxlength='15' value='$tincst2[ECC_No]' onchange=\"showcst(this.value);\"></td>";
echo "</tr>";
echo "</table>";

echo " <input type='submit' name='Submit' value='Process!' onClick=\"'showda();\">";

echo "</form>";

?>
</body>
</html>
4

3 に答える 3

1

呼び出すことがonclickできるこのコードの後に​​、いくつかのコードを実行するために呼び出すことができますformObject.submit()

function showda()
{
  alert ("Show function !");
  formObject.submit(); //get your form object by id or tagname
}
于 2012-12-26T11:34:32.187 に答える
1

onclickを入力に追加する代わりにonsubmit、フォーム要素に追加します

echo "<form name='form1' method='post' target='mainFrame' action='invoice-detail.php'> onClick=\"'return showda();\">";

showda()その後、メソッドを更新できます。

function showda()
{
  alert ("Show function !");
  // do your actions here
  // if they fail you can return false
  return true;
}
于 2012-12-26T11:35:03.913 に答える
0
    <?php include 'db.php'; ?>
    <html>
    <head>
    <title>INVOICE Header</title>


    <SCRIPT language=JavaScript>

    function showda()
    {
    alert ("Show function !");
    ////////do your processing here before submit//////

     document.form1.action="invoice-detail.php";
     document.form1.submit();
    }

    function showtin(str8)
    {
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.open("GET","invtin.php?q8=" + str8,true);
    xmlhttp.send();
    }

    function showcst(str10)
    {
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.open("GET","invcst.php?q10=" + str10,true);
    xmlhttp.send();
    }

    </script>


    </head>
    <body>

        <?php

    echo "<form name='form1' method='post' target='mainFrame' action=''>";
    echo "<table width='829' height='100' border='0' align='center' cellpadding='0' cellspacing='2'>";

    echo "<tr>";
    echo "<td height='39' width='99' class='sty1'>Invoice No</td>";

    $res=mysql_query("select * from INVHDR_draft WHERE usr='$user'");
    $row = mysql_fetch_assoc($res);
    $tincst=mysql_query("SELECT TIN_No, CST_No, ECC_No FROM ACMAST where Ac_code='$cat'");
    $tincst2=mysql_fetch_assoc($tincst);

    echo "<td width='140'><input name='Inv_no' type='text' size='6' maxlength='6' value='$row[Invno]' onBlur=\"if (this.value == '' || this.value == 0) {alert('Invoice No. is required'); f1.Inv_no.focus();}\" onchange=\"showinvno(this.value);\"></td>";
    echo "</tr>";

    echo "<tr>";
    echo "<td height='39' width='99' class='sty1' valign='bottom'>TIN</td>";
    echo "<td width='140' valign='bottom'><input name='tin' type='text' size='15' maxlength='15' value='$tincst2[TIN_No]' onchange=\"showtin(this.value);\"></td>";

    echo "<td width='203' class='sty1' valign='bottom'>CST ";
    echo "  <input name='cst' type='text' size='15' maxlength='15' value='$tincst2[CST_No]' onchange=\"showcst(this.value);\"></td>";
    echo "<td width='150' class='sty1' valign='bottom'>ECC No. ";
    echo "  <input name='ecc' type='text' size='15' maxlength='15' value='$tincst2[ECC_No]' onchange=\"showcst(this.value);\"></td>";
    echo "</tr>";
    echo "</table>";

    echo " <input type='submit' name='Submit' value='Process!' onClick='showda(); >";

    echo "</form>";

    ?>
    </body>
    </html>

このコードを使用してください

于 2012-12-26T11:37:37.983 に答える