Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单提交浏览器可战斗性_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 表单提交浏览器可战斗性

Javascript 表单提交浏览器可战斗性,javascript,jquery,ajax,Javascript,Jquery,Ajax,我对编程相当陌生。我使用以下代码提交表单: <form action="" method="post" class="label" id="form1"> <span id="sprytextfield1"> <label>Ονομα* <br /> <input name="onoma" type="text" id="onoma" size="30" /> </l

我对编程相当陌生。我使用以下代码提交表单:

     <form action="" method="post"  class="label" id="form1">

     <span id="sprytextfield1">
    <label>Ονομα*
      <br />
      <input name="onoma" type="text" id="onoma" size="30" />
    </label>
    <span class="textfieldRequiredMsg"></span></span>
    <p><span id="sprytextfield2">

    <label>Επίθετο*
      <br />
      <input name="surname" type="text" id="epitheto" size="30" />
    </label>
    <span class="textfieldRequiredMsg"></span></span></p>
    <p><span id="sprytextfield3">

      <label>Τηλέφωνο*<br />
        <input name="phone" type="text" id="tilefono" size="25" />
        <span class="textfieldRequiredMsg"> </span></label>
</span></p>
    <p><span id="sprytextfield4">

    <label>email*<br />
      <input name="email" type="text" id="email" size="30" />
    </label>
    <span class="textfieldRequiredMsg"></span></span></p>
    <p><span id="sprytextfield5">

      <label>username*
        <br />
        <input name="username" type="text" id="username" size="30" />
      </label>
      <span class="textfieldRequiredMsg"></span></span></p>
    <p><span id="sprypassword1">

    <label>password*<br />
      <input type="password" name="password" id="password" />
    </label>
    <span class="passwordRequiredMsg"></span></span></p>
    <p>

      <label>Εδρα-Νομός*
        <select name="Edra_nomos" size="1" id="edranomos">
        <option value=" Επιλογές"> Επιλογές</option>
  ......................................................... 

          </select>
      </label>
      </p>
    <p>

    <label>Εδρα-Πόλη*
        <select name="Edra-Poli" id="edrapoli">
        </select>
      </label>

     <script>
     $(document).ready(function(){

         $('#edranomos').change(function(){
             $('#edrapoli').empty();

     var option = '';
     var edra = [
     .................................................................

     ];

     var s = $( "#edranomos option:selected" ).text().trim();   

     for(n=0;n<edra.length;n++){
         if(s==edra[n][0]){         
             for(i=1;i<edra[n].length;i++){
             option += '<option value="'+ edra[n][i] + '">' + edra[n][i] + '</option>';          
             }
             $('#edrapoli').append(option);         
             }                   
         }
      });
     });
     </script></p>
    <p>         

      <label>Είδος Μεταφοράς*
        <select name="Eidos_metaforas" size="1" id="eidosmetaforas">        
         ...........................................................        

          </select>
      </label>
      </p>
    <label>Υπηρεσίες*

      <select name="ypiresies" size="3" multiple="multiple" id="exeidikypiresies">
       .....................................................

    </select>
    </label>
    <p><br />
  </p>
    <p>
      <input name="Submit"  type="submit"  id="button" value="Εγγραφή" />
  </p>
    </form>
    <p>&nbsp;</p>





<script>
$(document).ready(function(){ 

        $("#form1").submit(function() {     

        alert($('#onoma').val());
        alert($('#epitheto').val());
        alert($('#email').val());
        alert($('#tilefono').val());
        alert($('#username').val());
        alert($('#password').val());
        alert($('#edranomos').val());
        alert($('#edrapoli').val());
        alert($('#eidosmetaforas').val());
        if($('#exeidikypiresies').val()!=null){
        var e = $('#exeidikypiresies').val().toString();
        } else {
            var e = 'nothing';
            }
        alert(e);

        $.ajax({
  url: 'php/register.php',   
  type: 'POST',
  data: { onoma:$('#onoma').val() , epitheto:$('#epitheto').val() , 
  email:$('#email').val() , tilefono:$('#tilefono').val(),
  username:$('#username').val() , password:$('#password').val() ,
  edranomos:$('#edranomos').val() , edrapoli:$('#edrapoli').val(),
  eidosmetaforas:$('#eidosmetaforas').val() , exeidikypiresies:e},
  dataType: 'json',
  success: function(response){        
      alert(response['message']);  
      if(response['success']=='1'){
          window.location = 'http://www.transergo.com/index.php';   
          }

}
});
});
});
</script>
我的问题是,代码不适用于firefox,我甚至不能将数据存储到数据库中,有一半适用于chrome,响应时不显示警告框,它与IE完美配合,所以这显然是一个浏览器兼容性问题。我不知道该找什么。通过谷歌搜索没有发现任何具体的信息。任何想法


我更新了代码

我在您的页面中看不到HTML,但我认为这是因为您在尝试发布表单时正在进行AJAX调用。这是一个问题,因为$.ajax是异步的,所以在从$.ajax调用返回结果之前,您的页面可能正在重新加载/导航。在ajax调用之后添加下面的return语句,这样就不会发生表单直接提交

return false;
此外,最好避免调试时使用警报语句。 您可以在控制台中使用

console.log("test");

控制台中的错误是什么?简单地说,使用firefox它返回我的页面html代码尝试序列化表单,然后发布数据。喜欢数据:$'form1'。您是否建议不要使用AJAX;我使用它依赖于几个堆栈溢出主题。我不确定你想用AJAX调用做什么,如果不查看整个页面就很难了解你在做什么。如果您需要首先进行AJAX调用,也许您应该使用一个函数来进行AJAX调用,并在成功时提交表单,而不是在提交事件中进行调用。我更新了我的代码您正在通过submit按钮发布表单,一旦ajax调用发出,它就不会等待,因为它是异步的,所以在ajax调用返回之前页面会被刷新。为什么不将表单发布到php/register.php中呢?添加returnfalse将导致成功。谢谢jeevanragula