我使用一些Jquery/ajax代碼來根據select的值刷新div的內容。所以我有這樣的:AJAX調用後執行javascript
<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調用的調用時,它運行良好。你能幫我找到原因嗎? 在此先感謝。
每當ajax調用觸發你笑uld評估空字符串的響應,並相應地隱藏輸入。 – Nate
好吧,我明白了,但實際上我有3次輸入的5倍。它看起來像這樣http://puu.sh/6QSpJ.png我怎麼知道哪個輸入是空的whith xhr.responseText? – Roadirsh
你能提供一個你的迴應的例子嗎? – Nate