[英]jquery variable from one function to another function?
我有2个函数,我希望将一个名为“url”的变量传递给第二个函数。
第一个函数从“url”的值中获取一个href属性,因为它从我的数据库中吐出,并且是一个打开模态窗口的触发器。
<a class=\"trigger3\" url=\"".$url."\" href=\"#\">
该功能看起来像这样。
<script type="text/javascript">
$(document).ready(function(){
$(".trigger3").click(function(){
var url=$(this).attr("url");
$(".panel3").toggle("fast");
$(this).toggleClass("active");
return false;
});
});
</script>
我已经确认变量在那里。
第二个函数应该捕获此变量并将其与提交表单数据一起返回。
这是第二个功能。
<script type="text/javascript">
function submitForm2() {
$.ajax({type:'POST', url: 'flagadd.php', data:$('#flagProxy').serialize()+'&url=url', success: function(response) {
$('#flagProxy').find('.form_result2').html(response);
}});
return false;
}
</script>
<div class="panel3">
<form id="flagProxy" onsubmit="return submitForm2();">
<textarea style="resize:none" name="flag" cols="25" rows="5"></textarea>
<input type="hidden" name="url" />
<br>
<input type="submit" name="submit" value="Submit" />
<input type="button" name="cancel" value="Cancel" class="trigger3" />
<div class="form_result2"></div>
</form>
</div>
我一直试图解决这个问题几天,但我不知道该怎么办。 我想要么在一个函数中调用一个函数,要么以某种方式将变量全局化为两个函数。
感谢您提供的任何帮助,非常感谢,我可以使用一个良好的夜晚睡觉:)
您可以从另一个函数调用一个函数作为参数传递值,但如果两个函数都是事件触发的,那么我将使用全局变量来保存该值:
<script type="text/javascript">
var global;
$(document).ready(function(){
$(".trigger3").click(function(){
var url=$(this).attr("url");
$(".panel3").toggle("fast");
$(this).toggleClass("active");
global = 3;
return false;
});
});
function submitForm2() {
console.log(global); // 3
$.ajax({type:'POST', url: 'flagadd.php', data:$('#flagProxy').serialize()+'&url=url', success: function(response) {
$('#flagProxy').find('.form_result2').html(response);
}});
return false;
}
</script>
不要只是组成HTML属性名称。 如果要存储数据,请使用HTML5 data-*
属性 - 例如, data-url="..."
。
如果您只想将其作为表单的一部分发送,为什么不在表单中隐藏字段并更新它?
<input type="hidden" name="url">
+
var url = $(this).data('url'); // jquery understands HTML5 data-* attributes too
$('#flagProxy input[name=url]').val(url);
更好的是,只需使用值内的表单内的按钮,而不是链接。
<input type="submit" name="url" value="...">
(我使用<button>
,但旧的IE实际上是愚蠢的,并没有正确处理发送其表单值。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.