Кнопка в HTML JavaScript не работает - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь отправить форму для выполнения сценария 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>

Ответы [ 3 ]

1 голос
/ 30 января 2012

Вам необходимо удалить атрибут действия из формы, а входные данные, отправляющие форму, должны иметь атрибут onclick, запускающий вашу функцию, а не событие submit.

<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: вы создаете синтаксическую ошибку с первым тегом PHP, который выдает «Hello»

0 голосов
/ 30 января 2012

Попробуйте создать другую форму для таблицы с информацией о базе данных.Ваша форма может быть перепутана с 2 кнопками.

0 голосов
/ 30 января 2012

используйте следующий код для отправки формы вместо кнопки отправки,

<a href="javascript: doSubmit()">Submit</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...