2017-01-14 77 views
1

我有带输入字段的html表单。表单中的数据将通过php中的ajax函数发送出去,并且php以html形式返回结果。 虽然并不是所有的字段都被php执行并返回结果。 如果所有的字段都填写不到的结果从PHP。未填写必填字段,执行php

任何人都可以帮助我解决问题吗?

在此先感谢

HTML

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Test</title> 
<script type="text/javascript" src="ajax.js"></script> 
</head> 
<body> 
<div id="inputform"> 
    <form> 
     Name:<br> 
     <input type="text" id="firstname" required><br> 
     Surname:<br> 
     <input type="text" id="lastname" required ><br> 
     <input type="submit" value="submit" onclick='ajax()'> 
     <div id="ajaxDiv"></div> 
    </form> 
</div> 

的JavaScript

function ajax() { 
var ajaxRequest; // The variable that makes Ajax possible! 

try { 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
} catch (e) { 
    // Internet Explorer Browsers 
    try { 
     ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try { 
      ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (e) { 
      // Something went wrong 
      alert("Your browser broke!"); 
      return false; 
     } 
    } 
} 
// Create a function that will receive data sent from the server 
ajaxRequest.onreadystatechange = function() { 
    if (ajaxRequest.readyState == 4) { 
     var answer = document.getElementById('ajaxDiv'); 
     answer.innerHTML = ajaxRequest.responseText; 
    } 
}; 

var firstname = document.getElementById('firstname').value; 
var lastname = document.getElementById('lastname').value; 


var queryString = "?firstname=" + firstname + "&lastname=" + lastname; 
ajaxRequest.open("GET", "test.php" + queryString, true); 
ajaxRequest.send(null);} 

PHP

<?php 
$firstname=$_GET['firstname']; 
$lastname=$_GET['lastname']; 
echo $firstname; 
?> 

回答

0

您可以使用AJAX发送表单数据到服务器,并在表单提交时调用方法ajax()。因此,在<form>标记中没有必要,因为当你点击按钮时,你可以调用ajax()函数和表单自动提交。

删除<form>和变化: <input type="submit" value="submit" onclick='ajax()'><input type="button" value="submit" onclick='ajax()'>

+0

感谢快速回答。 没有

标签和类型=“提交”,当我点击提交时,我没有收到一个字段没有填写的通知。 –

+0

你想如何发送数据到服务器?异步或?如果是异步的,那么你应该使用ajax并移除form标签,否则你需要移除ajax并使用form标签'method =“get”'。 – Vusal