2011-11-10 14 views
6

के भीतर बटन सबमिट करें मेरे पास एक ऐसा फॉर्म है जिसमें एक छवि के रूप में सबमिट बटन है। जब उपयोगकर्ता छवि बटन पर क्लिक करता है, तो छवि बटन सबमिट बटन की भूमिका निभाएगा।छवि एक फॉर्म

कोड नमूना:

<form action="page.php" method="POST"> 
    <input type="image" name="btn_opentextbox" src="image.png" value="Submit" /> 
</form> 

हैंडल प्रस्तुत:

if($_POST['btn_opentextbox']) 
{ 
    //do something 
} 

हैरानी की बात है, इसके बाद के संस्करण का इस्तेमाल किया कोड फ़ायरफ़ॉक्स में बिल्कुल ठीक काम करने के लिए। हालांकि, एक बार मैंने कल अपने फ़ायरफ़ॉक्स को अपडेट किया, तो यह बिल्कुल काम नहीं करता था। मैं बटन पर क्लिक करता हूं, पेज ताज़ा हो जाता है और कुछ भी नहीं होता है। कोड आईई में भी काम नहीं करता है।

नोट: यह क्रोम में काम करता है।

मैं इसे Firefox, IE में काम करना चाहते हैं, आदि

कोई सुझाव?

उत्तर

6

आप एक छिपी हुई फ़ील्ड

<input type="hidden" name="action" value="Submit Form"> 

जोड़ सकते हैं और php में आप इस

if($_POST['action'] == "Submit Form"){ 
do something 
} 

आशा है कि यह मदद कर सकते हैं।

+0

स्मार्ट एक। यह कोशिश करेगा और आपको बताएगा। – user311509

+0

पहले जांचें कि 'E_NOTICE' संदेशों से बचने के लिए सरणी तत्व 'isset()'। – MrWhite

2

इसके बजाय btn_opentextbox_x या btn_opentextbox_y के लिए जांचें। (यह वास्तव में ._ नहीं है लेकिन PHP इसे मैंगल करता है)।

कुछ ब्राउज़र सर्वर साइड छवि मानचित्रों के लिए मूल्य भेजने में विफल रहते हैं, केवल समन्वय।

और आप alt विशेषता भूल गए हैं।


वैकल्पिक रूप से, एक छवि मानचित्र के बजाय सबमिट बटन एक वास्तविक उपयोग करें:

<button type="submit" name="btn_opentextbox" value="submit"><img src="image.png" alt="Submit"></button> 

... लेकिन ध्यान दें कि आईई के कुछ संस्करणों HTML सामग्री के बजाय भेज देंगे मूल्य की जब यह प्रस्तुत की है।

0

क्या आपके पास उस फॉर्म में कई बटन हैं और यह जानने की आवश्यकता है कि फ़ॉर्म सबमिट किया गया था? अगर वहाँ सिर्फ एक सबमिट बटन पर मैं कोड निम्नलिखित उपयोग करने का सुझाव है:

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    // process form submission 
    header('Location: page.php?result=success'); 
} 

इस तरह आप यकीन है कि अगर प्रपत्र प्रस्तुत की गई थी और यह भी डबल प्रस्तुत करने से बचने के उपयोगकर्ता हिट बटन को फिर से लोड करता है, तो बाद प्रपत्र प्रस्तुत की गई थी हो जाएगा।

3
छवि के लिए

सबमिट बटन

php कोड

if(isset($_POST['btn_opentextbox_X']) || isset($_POST['btn_opentextbox_Y'])) 
{ 
    //do something 
} 
2

अच्छा php कोड है:

<input type='image' src='../images/blanc.gif' width='596' height='35'  onFocus='form.submit' name='btn_opentextbox'/> 


    if ($_POST["btn_opentextbox_x"]) && ($_POST["btn_opentextbox_y"]) 
    { 

...... 
    } 
+0

"अच्छा PHP कोड"? चूंकि यह इस समय खड़ा है, जब आपका फॉर्म छवि सबमिट बटन द्वारा सबमिट नहीं किया गया है, तो आपका कोड 'E_NOTICE' संदेश उत्पन्न करेगा। आपको यह जांचना चाहिए कि सरणी तत्व 'isset()'। – MrWhite

+0

... भी '$ _POST [" btn_opentextbox_x "]' वैध रूप से मूल्य '0' हो सकता है और इसलिए गलत का मूल्यांकन कर सकता है। – MrWhite

संबंधित मुद्दे