[英]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.