问题描述
我正在尝试使用javascript替换表单占位符文本。 样本页面:https://www.globalcallforwarding.com/lps/sign-up-try-free/
我们要用实际号码代替“输入有效的电话号码”。问题是,表单是从另一台服务器中提取的,这很复杂,我们无法在该服务器上更改源文件。我已经成功地交换了示例表单(页面底部)上的占位符,但是javascript对顶部表单没有影响。关于如何定位该领域的任何想法?
<script type="text/javascript">
$(document).ready(function(){
$('form').find("input[type=tel],tel").each(function(ev)
{
if(!$(this).val()) {
$("#dstnumber").attr("placeholder","(555) 555-5555").val("").focus().blur();
}
});
});
任何帮助将不胜感激。
解决方法
它似乎是动态加载的,这就是为什么在$(document).ready中找不到它的原因。
使用此功能,您应该能够定位最上面的表格。
https://gist.github.com/chrisjhoughton/7890303
var waitForEl = function(selector,callback) {
if (jQuery(selector).length) {
callback();
} else {
setTimeout(function() {
waitForEl(selector,callback);
},100);
}
};
var selector = jQuery('#dstnumber');
waitForEl(selector,function() {
// Will run when the element exists
jQuery(selector).attr("placeholder","(555) 555-55551111").val("").focus().blur();
});