在AJAX调用后执行javascript

Roadirsh

我使用一些Jquery / ajax代码根据select的值刷新div的内容。所以我有这个:

<select id="agence" name="agence" class="selectpicker scrollMe " data-style="btn-default" onchange="getContent('divmailsav')">
    <option value="1">1</option>
    <option value="2">2</option>
</select>
<div id="divmailsav">
    <?php include 'formmail.php'; ?>
</div>

GetContent是:

function getContent(x){
  var xhr=null;
  if(window.XMLHttpRequest){xhr=new XMLHttpRequest();}
  else if(window.ActiveXObject){xhr=new ActiveXObject("Microsoft.XMLHTTP");}
  envoi = "formmail.php?agence="+$('#agence').val()+"&soc=<?php echo $_SESSION['SOC'] ?>";
  xhr.open("GET",envoi,false);
  xhr.send(null);
  obj=document.getElementById(x);
  obj.innerHTML =xhr.responseText;
} 

这很好用。

但是这里是“ formmail.php”里面的内容

 <label for="inputEmail1" class="col-sm-2 control-label">Mail 1</label>
 <div class="col-sm-6">
  <input type="email" class="form-control" name="PMCPYMAIL1" id="inputEmail1" onkeyup="onkeyupmail(1,'')" placeholder="Email" value="<?php echo getmail('PMCPYMAIL1')?>">
</div>
<input type="text" value="Envoyer mail de test" id="buttonmail1" onclick="onclickmail(1,'');" class="btn btn-default col-sm-2">
<input type="text" value="Effacer" class="btn btn-danger btn-mini col-sm-1" id="amail1" onclick="deletemail(1,'')" style="margin-left: 35px;">


<div class="col-sm-offset-2 col-sm-9">
 <input type="submit" value="Valider" class="btn btn-primary">
</div>  

<script type="text/javascript">
  alert('tada');
  pageLoad = function(){

    if ($('#inputEmail1' ).val() == ''){
      $('#buttonmail1').hide();
      $('#amail1').hide();
    }
  };
  pageLoad();

</script>

如果输入电子邮件为空,则脚本应隐藏输入文本。当我第一次加载页面时(警告“ tada”显示),它工作得很好,但是从ajax调用中调用时却不能。你能帮我找到原因吗?提前致谢。

内特
function getContent(x){
  var xhr=null;
  if(window.XMLHttpRequest){xhr=new XMLHttpRequest();}
  else if(window.ActiveXObject){xhr=new ActiveXObject("Microsoft.XMLHTTP");}
  envoi = "formmail.php?agence="+$('#agence').val()+"&soc=<?php echo $_SESSION['SOC'] ?>";
  xhr.open("GET",envoi,false);
  xhr.send(null);
  obj=document.getElementById(x);

  if(xhr.responseText != ""){
      obj.innerHTML =xhr.responseText;
  }else{
      $('#buttonmail1').hide();
      $('#amail1').hide();
  }
} 

---------------新代码块1 -----------------

//在发送到服务器之前,使用它来检查您的电子邮件输入框是否为空值

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

            $('form').click(function(){
                var emptyVals = [];
                $(".form-control").each(function(){
                    if($(this).val() == ""){
                        emptyVals.push($(this));
                    }
                });
                if(emptyVals.length > 0){
                    // don't send form one or more email values are empty
                }
            });

        });
    </script>

---------------新代码块2 -----------------

//这就是我建议发送AJAX的方式(使用jQuery)

 <script>
        $(document).ready(function(){
            function getContent(){
                $.ajax({
                    url:"formmail.php",
                    data:"agence="+$('#agence').val()+"&soc=<?php echo $_SESSION['SOC'] ?>"
                }).done(function(data){
                    if(data!=""){
                        // checks to see if there is an empty string at the load of the content

                    }
                })
            }

        });
    </script>

---------------新代码块3 -----------------

//从头开始隐藏所有btns(您也可以由此推断出如何分别隐藏每个单独的元素)

$(document).ready(function(){

    $(".form-control").each(function(){
        $(this)
           .parent()
              .next("input.btn")
                 .hide()
                   .next("input.btn-danger")
                      .hide();
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ajax调用后未执行Javascript

来自分类Dev

在 ajax 调用后执行 javascript 重定向

来自分类Dev

在Rails中进行Ajax调用后如何执行JavaScript函数?

来自分类Dev

在on()方法内进行ajax调用后如何执行javascript

来自分类Dev

多次ajax调用后执行函数

来自分类Dev

javascript ajax调用后调用了jquery

来自分类Dev

多次AJAX调用后,暂停执行AJAX回调

来自分类Dev

在ajax调用后淡入

来自分类Dev

使用AJAX调用执行Javascript

来自分类Dev

Yii:Ajax调用后未加载Javascript和CSS

来自分类Dev

ajax调用后php echo javascript函数不起作用?

来自分类Dev

<head>中的JavaScript在AJAX调用后不再起作用

来自分类Dev

Javascript事件在Ajax调用后不起作用

来自分类Dev

Yii:Ajax调用后未加载Javascript和CSS

来自分类Dev

Javascript 悬停 addclass 在 Ajax 调用后不起作用

来自分类Dev

仅在完成前一个调用后执行下一个AJAX调用

来自分类Dev

仅在完成前一个调用后执行下一个AJAX调用

来自分类Dev

AJAX调用后呈现问题

来自分类Dev

AJAX调用后的加载指令

来自分类Dev

在ajax调用后重置变量?

来自分类Dev

在ajax调用后重置变量?

来自分类Dev

jScrollPane在AJAX调用后消失

来自分类Dev

Ajax调用后更新图像

来自分类Dev

在ajax调用后返回Collection

来自分类Dev

在ajax调用后返回false

来自分类Dev

AJAX 调用后的 MarkerCluster 刷新

来自分类Dev

AngularJS + $ q,在完成多个ajax调用后执行一些操作

来自分类Dev

AngularJS:如何在服务中完成AJAX调用后执行控制器功能?

来自分类Dev

在当前页面上执行ajax调用后,jQuery不触发