के साथ गतिशील रूप से छवि लोड करें मैं jQuery के साथ एक छवि (PHP के साथ बनाया गया) लोड करने और इसके साथ कुछ चर पारित करने की कोशिश कर रहा हूं (उदाहरण के लिए: picture.php?user=1&type=2&color=64
)। यह आसान हिस्सा है।विभिन्न जीईटी पैरामीटर
कठिन हिस्सा यह है कि मेरे पास एक ड्रॉपडाउन है जो मुझे पृष्ठभूमि (प्रकार पैरामीटर) चुनने में सक्षम बनाता है और मेरे पास रंग चुनने के लिए एक इनपुट होगा।
Here're समस्याओं का सामना करना पड़ रहा हूँ:
- एक ड्रॉपडाउन/इनपुट को छुआ नहीं किया गया है, मैं इसे URL से छोड़ना चाहते हैं।
- यदि कोई ड्रॉपडाउन/इनपुट स्पर्श किया गया है, तो मैं इसे यूआरएल में शामिल करना चाहता हूं। (यह पूर्व-मौजूदा स्ट्रिंग में केवल एक चर "
&type=2
" जोड़कर काम नहीं करेगा जैसे कि मैं ड्रॉपडाउन/इनपुट को कई बार स्पर्श करता हूं (&type=2&type=2&type=3
))। - पूर्व-मौजूदा यूआरएल में एक चर ("
&type=2
" - नीचे दिया गया कोड देखें) जोड़ते समय &-हस्ताक्षर गायब हो जाता है (यह इस तरह बन जाता है: "signature.php?user=1type=2
")।<script> var url = "signatureload.php?user=<?php echo $_SESSION['sess_id']; ?>"; $(document).ready(function() { window.setTimeout(LoadSignature, 1500); }); $("#signature_type").change(function() { url += "&type="+$(this).val(); LoadSignature(); }); function LoadSignature() { $("#loadingsignature").css("display", "block"); $('#loadsignature').delay(4750).load(url, function() { $("#loadingsignature").css("display", "none"); }); } </script>
यहाँ कोड है जहाँ मैं छवि को लोड है::
<div id="loadsignature"> <div id="loadingsignature" style="display: block;"><img src="img/loading-black.gif" alt="Loading.."></div> </div>
मैं नहीं जानता कि मैं और अधिक आगे कैसे कर सकता
यहाँ jQuery के लिए कोड है मेरी समस्या की व्याख्या करो। अगर आपको कोई संदेह है या आपको अधिक कोड चाहिए, तो कृपया मुझे बताएं।
आपकी मदद के लिए धन्यवाद!
संपादित करें:
<script>
var url = "signatureload.php?user=<?php echo $_SESSION['sess_id']; ?>";
$(document).ready(function() {
window.setTimeout(LoadSignature, 1500);
});
$("#signature_type").change(function() {
url = updateQueryStringParameter(url, 'type', $(this).val());
LoadSignature();
});
function LoadSignature()
{
$("#loadingsignature").css("display", "block");
$('#loadsignature').delay(4750).load(url, function() {
$("#loadingsignature").css("display", "none");
});
}
function updateQueryStringParameter(uri, key, value)
{
var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"),
separator = uri.indexOf('?') !== -1 ? "&" : "?",
returnUri = '';
if (uri.match(re))
{
returnUri = uri.replace(re, '$1' + key + "=" + value + '$2');
}
else
{
returnUri = uri + separator + key + "=" + value;
}
return returnUri;
}
</script>
EDIT2::
यहाँ वर्तमान कोड है
यहाँ signatureload.php के लिए कोड है
<?php
$url = "signature.php?";
$count = 0;
foreach($_GET as $key => $value)
{
if($count > 0) $url .= "&";
$url .= "{$key}={$value}";
}
echo "<img src='{$url}'></img>";
?>
अभी भी समस्याएं हैं? अभी भी उत्पन्न यूआरएल में नहीं? उत्पन्न होने पर वर्तमान कोड कैसा दिखता है? (वह सर्वर साइड कोड नहीं है) – NiKiZe
@NiKiZe @noam signatureload.php पैरामीटर से सहायता के साथ कोड उत्पन्न करता है और ड्रॉपडाउन में चयन को बदलने के बाद यहां से आउटपुट हैं: '' –
लेकिन यह .php स्क्रिप्ट है, जब आप ब्राउज़र में दृश्य स्रोत करते हैं तो यह कैसा लगता है? (मैं जानना चाहता हूं कि कहां खो गया है, क्या यह पृष्ठ उत्पन्न होता है या जब जावास्क्रिप्ट निष्पादित किया जाता है तो यह कुछ और होता है) – NiKiZe