2013-01-18 25 views
5

मैं एक चेकबॉक्सचेकबॉक्स बूलियन मान क्लासिक एएसपी

<input type="checkbox" name="chkNGI" id="prod_ngi_sn" value="1"> 

जब यह चेक किया जाता है मैं मान 1 गुजरती हैं, लेकिन जब यह चेक नहीं किया गया किसी भी मूल्य पारित हो जाता है की है। मैं मूल्य 0.

मैं

<input type="checkbox" name="chkNGI" id="prod_ngi_sn" <%if prod_ngi_sn.checked then value="1" else value="0" end if%>> 

की कोशिश की है लेकिन काम नहीं किया पारित करने के लिए की है।

टी.के.एस

उत्तर

7

स केवल मूल्यों गुजरती हैं। इसे समायोजित करने के लिए आपको सर्वर की तरफ तर्क की आवश्यकता है। आरएस = अभिलेख सेट ऑब्जेक्ट

<input type="checkbox" <%If RS("ColumnName")=True Then Response.Write(" checked='checked' ")%> name="tableColumn" value="1" > 
1

नाम "chkNGI" के साथ एक छिपे हुए इनपुट बनाएँ। अपने वर्तमान चेकबॉक्स को कुछ अलग करने के लिए नाम बदलें। चेकबॉक्स पर ऑनक्लिक पर क्लिक करें और चेकबॉक्स की स्थिति के आधार पर एक छोटा जावास्क्रिप्ट फ़ंक्शन का उपयोग करके, छुपा इनपुट में 0 या 1 लिखें। जब टिक

उदाहरण के लिए,

<script> 
    function calcParam() { 
     var checked = document.getElementById("prod_ngi_sn").checked; 
     if (checked) 
      document.getElementById("hiddenNGI").value = "1"; 
     else 
      document.getElementById("hiddenNGI").value = "0"; 
    } 
</script> 

<input type="hidden" name="chkNGI" id="hiddenNGI"> 
<input type="checkbox" name="checkNGI" id="prod_ngi_sn" onClick="calcParam()"> 
+0

क्या आप मुझे एक उदाहरण दिखा सकते हैं? –

+0

आपको बस फ़ाइल की शुरुआत में सही जगह पर थंबल टैग और जावास्क्रिप्ट अनुभाग रखना होगा। ' ' – GeorgeVremescu

+0

पीएस। हो सकता है कि 'चेक किया गया' जावास्क्रिप्ट के लिए एक आरक्षित शब्द है। सुनिश्चित करने के लिए 'var check'' 'var checkState' का उपयोग करें। – GeorgeVremescu

2
<script> 
function calcParam() { 
    var checked = document.getElementById("prod_ngi_sn").checked; 
    if (checked) 
    document.getElementById("hiddenNGI").value = "1"; 
    else 
    document.getElementById("hiddenNGI").value = "0"; } 
</script> 

<input type="hidden" name="chkNGI" id="hiddenNGI"> 
<input type="checkbox" name="checkNGI" id="prod_ngi_sn" onClick="calcParam()"> 
+1

मुझे नहीं लगता कि क्लासिक एएसपी के लिए यह सबसे साफ समाधान है। – JGallardo

1

आप इस एक लाइन समाधान

सूचना कोशिश कर सकते हैं

save.asp

<% 
' connection string bla bla 
' RS = Recordset Object 

If Request.Form("tableColumn")=1 Then 
    RS("ColumnName") = 1 
Else 
    RS("ColumnName") = 0 
End If 

' other columns saving process bla bla bla 
%> 
+0

मैंने यह कोशिश की, लेकिन नियंत्रण की जांच नहीं होने पर चेकबॉक्स का मान शून्य है। –

0

बचत पृष्ठ पर पोस्ट में आपका समाधान;:

Dim chkNGI 
chkNGI = Request("chkNGI") & "" 
If chkNGI = "" Then 
    chkNGI = "0" 
End If 
1

मैं जानता हूँ कि इस सवाल का वर्ष है, लेकिन मैं हाल ही में क्लासिक एएसपी में एक कंपनी के लिए कुछ विरासत कोड refactor करने के लिए किया था, और इस समस्या में पड़ गए। मौजूदा कोड ने एक छिपे हुए फॉर्म फ़ील्ड का उपयोग उसी नाम के साथ चेकबॉक्स के रूप में किया था और परिणामों में या तो "झूठी" या "झूठी, सत्य" की तलाश की थी। यह kludgy महसूस किया, लेकिन कोड भी उपसर्ग के साथ गतिशील नामित चेकबॉक्स फ़ील्ड के आधार पर कार्रवाई की, इसलिए एक लापता क्षेत्र से "झूठी" का मतलब विभिन्न जटिलताओं का परिचय देगा।

यदि आप या तो "0" या "1" वापस करने के लिए चेकबॉक्स चाहते हैं, तो इस तकनीक को चाल चलनी चाहिए। यह एक नामित छिपे हुए क्षेत्र में हेरफेर करने के लिए एक अनाम चेकबॉक्स का उपयोग करता है।

<html> 
<body> 
<% If isempty(Request("example")) Then %> 
<form> 
<input type="hidden" name="example" value="0"> 
<input type="checkbox" onclick="example.value=example.value=='1'?'0':'1'"> 
<input type="submit" value="Go"> 
</form> 
<% Else %> 
<p>example=<%=Request("example")%></p> 
<% End If %> 
</body> 
</html>