如果正文中存在类Easy
的div,我希望AJAX运行网址urlEasy.php
如果正文中存在类Medium
的div,我希望它运行urlMedium.php
尝试使用Jquery全局变量
<script>
var UrlReplacer = {};
$(document).ready(function() {
if ($("div").hasClass("Easy")){
UrlReplacer = "urlEasy.php";
} elseif ($("div").hasClass("Medium")){
UrlRreplacer = "urlMedium.php";
}
});
</script>
<script type='text/javascript'>
$(document).ready(function () {
$('#classadderform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : Urlreplacer ,
type: "POST",
data: $(this).serialize(),
success: function (data) {
},
});
});
});
</script>
当我直接编写所需的URL时,AJAX运行正常,如下所示,因此该问题与表单,AJAX或链接的URL无关。我也确切地知道身体中存在一个类Easy
的div。 问题是创建一个全局Jquery变量,然后我可以使用它来定义URL。
<script type='text/javascript'>
$(document).ready(function () {
$('#classadderform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : "urlEasy.php",
type: "POST",
data: $(this).serialize(),
success: function (data) {
},
});
});
});
</script>
答案 0 :(得分:1)
将它们放在同一个脚本标记中以避免全局和任何范围问题,然后检查选择器长度以查看该元素是否存在于DOM中
<script type='text/javascript'>
$(document).ready(function () {
var url = $("div.Easy").length > 0 ? "urlEasy" : "urlMedium";
$('#classadderform').on('submit', function(e) {
e.preventDefault();
$.ajax({
url : url + '.php',
type: "POST",
data: $(this).serialize(),
success: function (data) {
},
});
});
});
</script>