Php 如何通过ajax将时间和组合框字段中的数据传递给MySQL?

Php 如何通过ajax将时间和组合框字段中的数据传递给MySQL?,php,mysql,ajax,datetime,combobox,Php,Mysql,Ajax,Datetime,Combobox,我正在使用PHP、ajax JS和MySQL(phpMyAdmin)进行personl项目。我正在尝试实现一个“添加URL”函数,该函数从HTML表单获取输入数据,并通过和ajax函数提交到我的数据库,因此不需要刷新整个页面 我的问题是:如何编写从“时间”输入字段和“组合框”输入字段中选择值的ajax 代码: 插入函数(ajax): 函数插入() { var name=encodeURI(document.getElementById('name').value); var url=encode

我正在使用PHP、ajax JS和MySQL(phpMyAdmin)进行personl项目。我正在尝试实现一个“添加URL”函数,该函数从HTML表单获取输入数据,并通过和ajax函数提交到我的数据库,因此不需要刷新整个页面

我的问题是:如何编写从“时间”输入字段和“组合框”输入字段中选择值的ajax

代码:

插入函数(ajax):

函数插入()
{
var name=encodeURI(document.getElementById('name').value);
var url=encodeURI(document.getElementById('name').value);
//这里有什么代码可以让我从组合框中检索数据,从输入表单中检索时间字段???
xmlhttp.open('get','addUrl.php?name='+name+'&releaseTime='+releaseTime+'&releaseDay='+releaseDay+'&category='+category+'&genre='+genre+'&url='+url');
xmlhttp.onreadystatechange=contactAdded;
document.getElementById(“content02”).innerHTML=“”;
xmlhttp.send(空);
返回;
}
addUrlForm.php:

    <!-- Include AJAX Framework -->
<script src="js/ajax.js" language="javascript"></script>

<?php

$addURL = $_GET['addURL'];

echo "Add URL:";
echo "<form action='javascript:insert()' method='get'>";
echo "<table>";
echo "<tr>";
echo "<td>Name:</td><td><input name='name' type='text' id='name' value='' size'30'></input></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Release Time:</td><td><input name='releaseTime' type='time' id='releaseTime' value=''></input></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Release Day:</td><td><select name='releaseDay' id='releaseDay'> <option value='monday'>Monday</option> <option value='tuesday'>Tuesday</option> <option value='wednesday'>Wednesday</option> <option value='thursday'>Thursday</option> <option value='friday'>Friday</option> <option value='saturday'>Saturday</option> <option value='sunday'>Sunday</option> </select></td>";
echo "</tr>";
echo "<td>Category:</td><td><select name='category' id='category'> <option value='television'>Television</option> <option value='movie'>Movie</option> <option value='music'>Music</option> </select></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Genre:</td><td><select name='genre' id='genre'> <option value='action'>Action</option> <option value='drama'>Drama</option> <option value='comedy'>Comedy</option> <option value='thriller'>Thriller</option> <option value='horror'>Horror</option> <option value='childrens'>Childrens</option> <option value='romantic'>Romantic</option> </select></td>";
echo "</tr>";
echo "<tr>";
echo "<td>URL:</td><td><input name='url' type='text' id='url' value='' size'250'></input></td>";
echo "</tr>";
echo "</table><br />";
echo "<input type='submit' name='Submit' value='Add URL'/>";
echo "</FORM>";

?>

其他领域也是如此

如果您需要支持旧浏览器,可以通过以下方式获得SELECT的值:

var releaseDaySel = document.getElementById('releaseDay');
var releaseDay = encodeURIComponent(releaseDaySel.options[releaseDaySel.selectedIndex].value);

顺便说一句,您应该使用
encodeURIComponent()
,而不是
encodeURI()
。而且你在分配给
url

的任务中也有错误的ID,所以我不需要循环组合框选项来查看选择了什么?在一个类似的项目中,我就是这样用单选按钮来做的。我想我是想得太多了。感谢您的帮助。我更新了答案以显示如何在不支持
.value
元素的
旧浏览器中执行此操作。您不需要循环,但需要为选项编制索引。
    <?php include('config.php'); ?>

<?php

    $name = $_GET["name"];
    $releaseTime = $_GET["releaseTime"];
    $releaseDay = $_GET["releaseDay"];
    $category = $_GET["category"];
    $genre = $_GET["genre"];
    $url = $_GET["url"];

$insertContact_sql = "INSERT INTO `links` (`name`, `releaseTime`, `releaseDay`, `category`, `genre`, `url`) VALUES ('{$name}' , '{$releaseTime}' , '{$releaseDay}' , '{$category}' , '{$genre}' , '{$url}')";

$insertContact= mysql_query($insertContact_sql) or die(mysql_error());

?>
var releaseTime = encodeURIComponent(document.getElementById('releaseTime').value);
var releaseDay = encodeURIComponent(document.getElementById('releaseDay').value);
var releaseDaySel = document.getElementById('releaseDay');
var releaseDay = encodeURIComponent(releaseDaySel.options[releaseDaySel.selectedIndex].value);