带有onclick事件的提交表单不起作用
submit form with onclick event not working
我有一个带有submit的表单,它将表单数据发布到一个名为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>
您可以调用onclick
来执行一些代码。在该代码之后,您可以调用formObject.submit()
function showda()
{
alert ("Show function !");
formObject.submit(); //get your form object by id or tagname
}
不将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;
}
<?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>
使用此代码
相关文章:
- 动态Javascript表单不起作用
- 带有select的jquery提交表单不起作用
- 下拉 jquery 方法发布表单不起作用
- JavaScript onChange 事件侦听器对输入表单不起作用
- 带有javascript按钮的PHP表单-不起作用
- 使用AJAX提交表单不起作用
- Jquery Modal/Dialog表单不起作用
- 使用Javascript提交表单不起作用
- 事件委派后表单不起作用
- 为什么在IE和Chrome中提交表单不起作用
- 根据<选择>动态创建的表单不起作用
- 在Kentico中使用response.write重定向HTML表单不起作用
- 移动响应表单不起作用
- 联系表单不起作用(Php 端)
- 使用 jQuery POST 和 php 序列化和提交表单不起作用
- 通过 ajax 提交表单不起作用
- 在 Javascript 中验证表单不起作用
- e.防止默认和 asp.net 登录表单不起作用
- 为什么我的拖放区 JavaScript 表单不起作用
- 使用 Javascript 提交表单不起作用