【问题标题】:Button in html javascript not workinghtml javascript中的按钮不起作用
【发布时间】:2012-01-30 06:12:40
【问题描述】:

我正在尝试提交一个表单来执行一个 php 脚本。但是提交按钮不起作用。我似乎没有遗漏任何引号或表达式。我做错了什么可能是什么问题?

<script type="text/javascript">

function doSubmit()
{

<?php
echo "Hello";
?>
var actions = document.frm.actions.value;
var tables = document.frm.tables.value;
var text0 = document.frm.text0.value;
var text1 = document.frm.text1.value;
var text2 = document.frm.text2.value;

/*var txtBox = document.getElementById("text3");

if (txtBox!=null){
var text3 = document.frm.text3.value;
var strURL = "devicesql.php?actions=" +actions+ "&tables=" +tables+ "&text0=" +text0+     "&text1=" +text1+ "&text2=" +text2+ "&text3=" +text3;
}

else
{*/
var strURL = "devicesql.php?actions=" +actions+ "&tables=" +tables+ "&text0=" +text0+ "&text1=" +text1+ "&text2=" +text2;
//}

var xmlhttp;

if (str=="")
  {
  document.getElementById("result").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("result").innerHTML=xmlhttp.responseText;
}
  }

xmlhttp.open("GET",strURL,true);
xmlhttp.send(null);

}

</script>

<form name="frm" method="get" action="doSubmit();">


<?php

// Connect to server and select database.
 mysql_connect("127.0.0.1:3306", "root", "")or die("cannot connect"); 
 mysql_select_db("PushApplication")or die("cannot select DB");

$sql="SELECT * FROM Device";
 $result=mysql_query($sql);

$count=mysql_num_rows($result);

?>
 <table width="400" border="0" cellspacing="1" cellpadding="0">
 <tr>
 <td><form name="form1" method="post" action="">
 <table width="400" border="0" cellspacing="1" bgcolor="#CCCCCC">

 <tr>
 <td align="center" bgcolor="#FFFFFF">#</td>
 <td align="center" bgcolor="#FFFFFF"><strong>ID</strong></td>
 <td align="center" bgcolor="#FFFFFF"><strong>DeviceID</strong></td>
 <td align="center" bgcolor="#FFFFFF"><strong>DeviceType</strong></td>
 <td align="center" bgcolor="#FFFFFF"><strong>Description</strong></td>
 <td align="center" bgcolor="#FFFFFF"><strong>OS_Version</strong></td>
 <td align="center" bgcolor="#FFFFFF"><strong>Status</strong></td>

 </tr>
<?php
 while($rows=mysql_fetch_array($result)){
 ?>
 <tr>
 <td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['ID']; ?>"></td>
 <td bgcolor="#FFFFFF"><? echo $rows['ID']; ?></td>
 <td bgcolor="#FFFFFF"><? echo $rows['DeviceID']; ?></td>
 <td bgcolor="#FFFFFF"><? echo $rows['DeviceType']; ?></td>
 <td bgcolor="#FFFFFF"><? echo $rows['Description']; ?></td>
 <td bgcolor="#FFFFFF"><? echo $rows['OS_Version']; ?></td>
 <td bgcolor="#FFFFFF"><? echo $rows['Status']; ?></td> 
 </tr>
<?php
 }
 ?>
 <tr>
 <td colspan="7" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td>
 </tr>
<?php
// Check if delete button active, start this
 if($delete){
 for($i=0;$i<$count;$i++){
 $del_id = $checkbox[$i];
 $sql = "DELETE FROM Device WHERE ID='$del_id'";
 $result = mysql_query($sql);
 }

// if successful redirect to delete_multiple.php 
 if($result){
 echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete_multiple.php\">";
 }
 }
 mysql_close();
 ?>
 </table>
 </form>
 </td>
 </tr>
 </table>

<br />
<br />


Action: <id="actions">
<select name="actions">
<option value="insert into ">Insert</option>
<option value="update">Update</option>
<option value="select">Display</option>
</select>

</br>
</br>

Database Table Name: <id="tables">
<select name="tables" onchange="addRows(this.value)">
<option>Select Table</option>
<option value="Applications">Application</option>
<option value="Device">Device</option>
</select>
</br>

<div id="addedRows"></div>

</br>

<input type="submit" value="Submit" onclick="doSubmit()">

</br>
</br>

Result: <div id="result"></div>

</form>

【问题讨论】:

    标签: php html button


    【解决方案1】:

    您需要从表单中删除 action 属性,并且提交表单的输入应该有一个 onclick 属性来触发您的函数而不是提交事件。

    <form id="theform">
        <!-- some input texts.... or something -->
        <button onclick="processForm()">Process form</button>
    </form>
    
    <script type="text/javascript">
    
        function processForm () {
            var form = document.getElementById('theform');
    
            // your stuff
        }
    
    </script>
    

    PS:您正在使用第一个回显“Hello”的 PHP 标记创建一个 sintax 错误

    【讨论】:

      【解决方案2】:

      尝试为显示数据库信息的表创建另一个表单。您的表单可能与 2 个按钮混淆。

      【讨论】:

      • 美丽。我想这就是原因。谢谢老兄!
      【解决方案3】:

      使用以下代码提交表单而不是提交按钮,

      <a href="javascript: doSubmit()">Submit</a>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-17
        • 2021-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多