2008-11-16 8 views
10

कैसे मैं उन हाइपरलिंक जहां जब आप इसे क्लिक करें, उसे एक पॉपअप पूछ प्रदर्शित करेगा में से एक बना कर "आप सुनिश्चित हैं?"प्रदर्शन पुष्टि पॉपअप

<INPUT TYPE="Button" NAME="confirm" VALUE="???" onClick="message()"> 

मेरे पास पहले से ही एक संदेश() फ़ंक्शन काम कर रहा है। मुझे सिर्फ यह जानने की जरूरत है कि हाइपरलिंक के लिए इनपुट प्रकार क्या होगा।

उत्तर

2

रूप नाहोम ने कहा, सिवाय मैं href भाग (onclik तो कोई ज़रूरत नहीं) में सीधे javascript:message() कॉल जाते थे।

नोट: onClick में जावास्क्रिप्ट कॉल को छोड़ एक लाभ है: href विशेषता में, आप अगर उपयोगकर्ता जावास्क्रिप्ट सक्षम नहीं है पर जाने के लिए एक यूआरएल डाल सकते हैं। इस तरह, यदि उनके पास जेएस है, तो आपका कोड चलाया जाता है। यदि वे नहीं करते हैं, तो वे कहीं कहीं जाते हैं जहां उन्हें इसे सक्षम करने के निर्देश दिए जाते हैं (शायद)।

अब, आपके message दिनचर्या को न केवल प्रश्न पूछना चाहिए, बल्कि उत्तर का भी उपयोग करना चाहिए: यदि सकारात्मक है, तो फॉर्म को पोस्ट करने के लिए फॉर्म पर सबमिट() को कॉल करना होगा। आप प्रपत्र को फ़ेच कम करने के लिए कॉल में this पारित कर सकते हैं।

व्यक्तिगत रूप से, मैं एक साधारण लिंक के बजाय एक बटन के लिए जाना होगा (इनपुट टैग के रूप में आपको बताएंगे) प्रक्रिया करने के लिए: यह उपयोगकर्ताओं के लिए एक अधिक परिचित प्रतिमान का प्रयोग करेंगे।

<script type="text/javascript" language="JavaScript"> 
function AskAndSubmit(t) 
{ 
    var answer = confirm("Are you sure you want to do this?"); 
    if (answer) 
    { 
    t.form.submit(); 
    } 
} 
</script> 

<form action="Tests/Test.html" method="GET" name="subscriberAddForm"> 
<input type="hidden" name="locationId" value="2721"/> 
<input type="text" name="text" value="3.1415926535897732384"/> 
<input type="button" name="Confirm" value="Submit this form" onclick="AskAndSubmit(this)"/> 
</form> 

हाँ, बस पृष्ठ यहाँ ... केवल FF3 में परीक्षण किया गया फिर से लोड कर सबमिट करें:

[संपादित करें] जब से मैं जवाब मैं दे सत्यापित करने के लिए पसंद करते हैं, मैं एक साधारण परीक्षण लिखा था।

[संपादित करें] अनुसरण टिप्पणी में सुझाव ... :-)

+0

परीक्षण किया "t.parentNode" इस उदाहरण के लिए काम करता है, लेकिन यह भंगुर है क्योंकि इसमें एक धारणा है। बेहतर "टी.फॉर्म" है। – Tomalak

+0

तोमालाक सही है, टी.फॉर्म बेहतर होगा। – scunliffe

23
<a href="http://somewhere_else" onclick="return confirm()"> 

उपयोगकर्ता लिंक क्लिक करता है, confirm समारोह बुलाया जाएगा। पुष्टि समारोह देता है, तो false, लिंक ट्रेवर्सल को रोकने के बाद अगर सही है लौटा दिया जाता है, लिंक चल रहा है।

0
<a href="#" onclick="message(); return false;">???</a> 

इस उत्तर ठीक होना केवल जब क्लिक एक पृष्ठ पर उपयोगकर्ता नेविगेट करने की जरूरत नहीं होगी।

15
<a href="http://something.com" onclick="return confirmAction()">try to click, I dare you</a> 
समारोह के साथ

function confirmAction(){ 
     var confirmed = confirm("Are you sure? This will remove this entry forever."); 
     return confirmed; 
} 

(आप भी इस बात की पुष्टि लौट सकते हैं अभी, मैं पठनीयता के कारण यह अलग)

एफएफ, क्रोम और IE में

+0

आपका समाधान मेरे लिए काम किया है, शायद इसलिए क्योंकि मैं php से href लिंक गूंज रहा था। धन्यवाद! – Daydah