2013-03-03 35 views
0

我试试这个下拉表单发送页面上的错误数据(电影信息)。这个html代码是当用户点击提交时发送的下拉表单,javascript将GET数据发送到另一个php文件并且有处理数据,但是放置在表单数据放置的地方Text:“Thank you”javascript发送表单与获取方法

问题是:当我点击提交不起作用,JavaScript没有完成它的工作。

HTML:

<div id='premijera' class='neispravniPodaci'>Report wrong data 
    <div id='neispravnaForma' class='arrow_box' > 
      <form name='frm1' action='' onSubmit='neispravniPod()' method='get'> 
      <input class='textbox' type='text' name='forma' placeholder='input for wrong data'> 
      <input type='submit' name='sendForm' value='Send' class='button'> 
      </form> 
     </div> 
</div> 

和JavaScript代码是:

function neispravniPod() 
{ 
var xmlhttp; 
var forma=document.forms['frm1']['forma].value; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById('neispravnaForma').innerHTML='<t style=\"font-size:15px;font-weight:bold;color:black;\">Hvala!</t>'; 
    } 
    } 

xmlhttp.open('GET','glasanje.php?id=".$idfilm."&neispravno='+forma+'&ip=".$_SERVER["REMOTE_ADDR"]."&korisnik=".$userdata['user_id']."',true); 
xmlhttp.send(); 
} 

回答

1

Like Rene points ou吨,这很可能是一个JavaScript语法错误,这是防止onSubmit函数在实际提交之前踢入。

建议在jsfiddle中尝试您的代码。

我在xmlhttp.open请求中看到PHP代码。你如何插入代码?这可能是一个失败点,如果你只是想在js文件中使用这些代码并期望客户端执行它(它只会吐出一个语法错误,因为JavaScript文件永远不会解释服务器端代码) 。

另外,你有没有考虑过使用jQuery或其他js库,这将有助于你编写更干净的ajax请求?

编辑使用答案(按照下面的评论):

不知道你的PHP是文件的其余部分,但这里是我已经使用和本地测试,以确保它的工作原理。更正了一些语法错误,也是在PHP方面,您输出变量的方式。在您的index.php文件的代码粘贴或任何你正在使用:

<div id='premijera' class='neispravniPodaci'>Report wrong data 
    <div id='neispravnaForma' class='arrow_box'> 
     <form name='frm1' action='javascript:neispravniPod();' method='get'> 
      <input class='textbox' type='text' name='forma' placeholder='input for wrong data'> 
      <input type='submit' name='sendForm' value='Send' class='button'> 
     </form> 
    </div> 
</div> 

<script type="text/javascript"> 
    function neispravniPod() { 
     var xmlhttp; 
     var forma = document.forms.frm1.forma.value; 
     if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } else { // code for IE6, IE5 
      xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
       document.getElementById('neispravnaForma').innerHTML = '<t style=\"font-size:15px;font-weight:bold;color:black;\">Hvala!</t>'; 
      } 
     }; 

     xmlhttp.open('GET', 'glasanje.php?id=<?php echo $idfilm ?>&neispravno='+forma+'&ip=<?php echo $_SERVER["REMOTE_ADDR"] ?>&korisnik=<?php echo $userdata['user_id'] ?>', true); 
     xmlhttp.send(); 
    }  
</script> 
+0

没有,我有票一个例子,我尽量让和这个形式,但有些是错误的......是的,这是PHP页面...我不知道如何实现ajax becouse我试试这个.... 好吧,我现在怎么发送这个表单? http://jsfiddle.net/D9fpd/ – user1721620 2013-03-03 14:06:06

+0

用适合你的代码编辑我的答案。让我知道如果这样做。 (不知道如何粘贴评论上的代码:/) – dcasadevall 2013-03-03 18:20:47

0

的第一件事我会做的是检查的javascript,好像你在脚本中有很多错误的...我喜欢在jsbin.com中检查我的脚本...只需打开javascript面板并将脚本粘贴到那里...我在脚本中发现了33条警告...点击:http://jsbin.com/oqiliq/1/edit

相关问题