2015-10-06 105 views
0

我正在一个php窗体,应该在计时器到期后自动提交。当提交表单比我想从所有的数据到另一个PHP页面。我做自动php表单提交使用javascript

if (isset($_GET['id'])) 

{ 
$query="SELECT * from Question_bank"; 
$result= mysqli_query($connection,$query); 
confirm_query($result); 
?> 
     <form action="answer.php" name="form1" method="post" id="quiz"> 
     <?php 
while ($read_all_data = mysqli_fetch_assoc($result)) 
{ 
    $_SESSION['id']=1; 

$id=$read_all_data['question_id']; 
$a=$read_all_data['a']; 
$b=$read_all_data['b']; 
$c=$read_all_data['c']; 
$d=$read_all_data['d']; 
echo $read_all_data['question']."</br>"; 
echo "A:<input type ='radio' value ='a' name='$id' >".$read_all_data['a']."</br>"; 
echo "B:<input type ='radio' value ='b' name='$id' >".$read_all_data['b']."</br>"; 
echo "C:<input type ='radio' value ='c' name='$id' >".$read_all_data['c']."</br>"; 
echo "D:<input type ='radio' value ='d' name='$id' >".$read_all_data['d']."</br>"; 

} 
} 
?> 
<input type="submit" value="Submit_Quiz" /> // it works fine in this way and auto submitted after timer reaches to zero 

</form> 

,但我也想name属性的提交按钮摆脱所有形式的值下一页。但是,当我把 “NAME =提交” 这亘古不变的提交自动

<input type="submit" value="Submit_Quiz" name="submit" /> 

JavaScript代码

<script type="text/javascript"> 

var startCountDown = document.getElementById('startCountDown'); 
startCountDown.addEventListener('click',function(){ 
    var startTime = document.getElementById('startTime').value; 
    var startDate = document.getElementById('startDate').value; 
    var duration = document.getElementById('duration').value; 

    function checkDateTime(){ 
     setTimeout(function(){ 
      if(new Date(startDate + " "+ startTime) <= new Date()){ 
       display_c(duration); 
      }else{ 
       checkDateTime(); 
      } 
      document.getElementById('minutesLeft').innerHTML = Math.round((new Date(startDate + " "+ startTime) - new Date())/ (1000*60)); 
      console.log('Minutes left ',(new Date(startDate + " "+ startTime) - new Date())/ (1000*60)); 
     },1000); 
    } 
    checkDateTime(); 
    console.log('button clicked',startTime,startDate,duration); 
}); 

function display_c(start) 
{ 
window.start = parseFloat(start); 
var end = 0 // change this to stop the counter at a higher value 
var refresh=1000; // Refresh rate in milli seconds 
if(window.start >= end){ 
mytime=setTimeout('display_ct()',refresh) 
} 
else 

    callback(); 
} 

function callback(){ 
    window.setTimeout(function() { 
    document.forms['form1'].submit(); 
}, 500); 
     } 
/*double seconds = milliseconds/1000.0;*/ 

function display_ct() { 
// Calculate the number of days left 
var days=Math.floor(window.start/86400); 
// After deducting the days calculate the number of hours left 
var hours = Math.floor((window.start - (days * 86400))/3600) 
// After days and hours , how many minutes are left 
var minutes = Math.floor((window.start - (days * 86400) - (hours *3600))/60) 
// Finally how many seconds left after removing days, hours and minutes. 
var secs = Math.floor((window.start - (days * 86400) - (hours *3600) - (minutes*60))) 

var x = window.start + "(" + hours + " Hours " + minutes + " Minutes and " + secs + " Secondes " + ")"; 


document.getElementById('ct').innerHTML = x; 
window.start= window.start- 1; 

tt=display_c(window.start); 
} 

</script> 

请帮我

回答

0

而非数值指明MyTime = setTimeout的( 'display_ct()',刷新)

write mytime = setTimeout('display_ct',refresh)

可能会有帮助

+0

先生的问题是提交按钮。当我删除“名称=提交”它工作正常,但是当我最后添加此表单“名称=提交”stucks。 –

0

使用方式如下。

window.onload=function(){ 
    window.setTimeout(document.quiz.submit.bind(document.quiz), 5000); 
}; 

OR

window.onload=function(){ 
    window.setTimeout(function() { document.quiz.submit(); }, 5000); 
}; 

欲了解更多您可以检查出来Auto submit form after 5 seconds

+0

我已经试过这个。但问题是与提交按钮,我不知道为什么。在该链接没有提交按钮。 但我有一个提交按钮。 –

+0

@eexamilm什么是错误? –