我有以下麻烦。
我有一个表单,其中一些元素是由ajax生成的,因为我有一个选择使用从服务器获取的不同选项,取决于选择我使用ajax一些文本输入的选项。问题是当我尝试将数据发送到php文件进行处理时,文本输入中的post varibles不存在,而另一个没有dinamically元素没有任何问题。
这是我的表格
<form role="form" action="scripts/agregaPeticion.php" method="POST">
<div class="form-group">
<label for="sala">Sala que se quiere pedir</label>
<br>
<select id="ComboSalas" name="Salas" width="30">
<option value="-1" selected> Elige la Sala que deeseas</option>
<?php
for ($i=0; $i < $num; $i++) {
$row = $result->fetch_assoc();
echo "<option value='".$row['idSala']."'>".$row['nombreSala']."</option>";
}
?>
</select>
</div>
<div class="form-group">
<label for="fechaI">Fecha Inicio: </label>
<input required id="datepicker" name="fechaInicio" />
<label for="fechaT">Fecha Termino: </label>
<input required id="datepicker2" name="fechaFinal"/>
</div>
<div id="hourpicker" class="form-group">
<label for="fechaInicio">Hora de inicio del evento</label>
<input required type="text" id="hora_inicio" name="horaInicio" placeholder="Ejemplo: 12:00 pm" onkeypress="valida_hora(value)">
<br><br>
<label for="fechaInicio">Hora de termino del evento</label>
<input required type="text" id="hora_inicio" name="horaTermino" placeholder="Ejemplo: 1:00 pm" onkeypress="valida_hora(value)">
</div>
<div class="form-group">
<label for="nombreEvento">Nombre del evento que se realizará:</label>
<input type="text" cols="45" required name="nombreEvento">
<label for="descripcionEvento">Breve descripcion del evento que se realizará:</label>
<textarea cols="45" rows="8" name="descripcionEvento"></textarea>
</div>
<div class="form-group">
<p>Cuáles son las opciones que ocupará en su evento?</p>
<input type="checkbox" name="clima" value="Bike">Aire Acondicionado
<br>
<input type="checkbox" name="internet" value="Car"> Acceso a internet
<br>
<input type="checkbox" name="proyector" value="Car"> Uso de proyector
</div>
<div id="ranges">
<!-- Implementacion de AJAX para los rangos automaticos-->
</div>
<button type="submit" class="btn btn-primary btn-lg btn-block" id="enviar" onclick="enviarDatos();">SOLICITAR </button>
</form>
输入文字将插入&#34; <!-- Implementacion de AJAX para los rangos automaticos-->
&#34;
输入文本很好并且工作问题是当我尝试从de post varible中获取它们的值时,因为没有任何东西。
这是我的ajax代码
//CONSTANTES
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOAED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;
//VARIABLES
var combo;
var peticionHttp;
//FUNCIONES
function inicializarAjax(){
if(window.XMLHttpRequest){
return new XMLHttpRequest();
}else if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function mostrarContenido(){
if(peticionHttp.readyState==READY_STATE_COMPLETE){
if(peticionHttp.status=200){
document.getElementById("ranges").innerHTML=peticionHttp.responseText;
}else{
alert("hubo problemas con la petición");
}
}
}
function cambioSala(){
combo=document.getElementById("ComboSalas").value;
var sala=combo;
if(sala==-1){
//NO HA SELECCIONADO NINGUNA SALA
document.getElementById("ranges").innerHTML="";
}else{
var url="http://localhost/GestionDeSalas/rangos.php?q="+sala;
if(peticionHttp){
peticionHttp.open("GET",url,true);
peticionHttp.onreadystatechange=mostrarContenido;
peticionHttp.send();
}
}
}
function enviarDatos(){
var s=document.getElementsByName("sillas");
alert(s[0].value);
}
function cargarTodo(){
peticionHttp=inicializarAjax();
peticionHttp.overrideMimeType('text/xml');
document.getElementById("ComboSalas").onchange=cambioSala;
}
window.onload=cargarTodo;
这是ajax
所需的文件<?php
$q = intval($_GET['q']);
require "scripts/conecta.php";
mysqli_select_db($con,"ControlSalas");
$sql="SELECT numSillas,numMesas,numPersonas FROM Sala WHERE idSala = '".$q."'";
$result = mysqli_query($con,$sql);
$row = mysqli_fetch_array($result);
echo '<div class="form-group">';
echo '<label for="NumSillas">Numero de sillas solicitadas para el evento</label>';
echo '<input type="range" name="points" max="'.$row['numSillas'].'" min="0" onchange="updateTextInput(this.value);" value="0">';
echo '<input type="text" id="textInput" value="0" readonly disabled name="sillas">';
echo '</div>';
echo '<div class="form-group">';
echo '<label for="NumMesas">Numero de mesas solicitadas para el evento</label>';
echo '<input type="range" name="points" min="0" max="'.$row['numMesas'].'" onchange="updateTextInputM(this.value);" value="0">';
echo '<input type="text" id="textInputM" value="0" readonly disabled name="mesas">';
echo '</div>';
echo '<div class="form-group">';
echo '<label for="NumPersonas">Numero de personas aproximada que asistirán al evento</label>';
echo '<input type="range" name="points" min="0" max="'.$row['numPersonas'].'" onchange="updateTextInputP(this.value);" value="0">';
echo '<input type="text" id="textInputP" value="0" readonly disabled name="personas">';
echo '</div>';
mysqli_close($con);
?>