2011-03-15 12 views
8

मैं एक जावास्क्रिप्ट फ़ंक्शन बना रहा था जिसमें मुझे इनपुट की पुष्टि करने की आवश्यकता है। मैंने निम्नलिखित कोड लिखा लेकिन इसके नकारात्मक मूल्य को i.e. "else" भाग देना, भले ही मैं एक वैध मान दर्ज करता हूं। क्या कोई समाधान का सुझाव दे सकता है?जावास्क्रिप्ट कार्यों में एचटीएमएल मानों को पास करना

HTML फ़ाइल:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Javascript App</title> 
<script type="text/javascript" src="app1.js"> 

</script> 
</head> 
<body><h1 id="heading1" style="text-align:center; height:auto; width:auto; font-family:'Arial Black', Gadget, sans-serif">Determinant of a nxn matrix</h1> 
<p id="paragraph1" style="font-family:'Arial Black', Gadget, sans-serif"> This program allows you to compute the determinant of a nxn matrix</p> 

<p> 
Input the order of the matrix 
<br /> 

<input type="text" maxlength="3" name="value" /> 
<input type="button" value="submit" onclick="verifyorder(value)" /> 
</p> 
<p id="error"></p> 
<p id="detspace"></p> 



</body> 
</html> 

जावास्क्रिप्ट फ़ाइल:

function verifyorder(order){ 
; 
    if(order>0){ 
     return true; 
    } 
    else{ 
     alert("Sorry, you need to enter a positive integer value, try again"); 
     document.getElementById('error').innerHTML="Sorry, you need to enter a positive integer value, try again"; 

    } 
} 
+0

कोड आप स्पष्ट रूप से तैनात चलाता है * के बाद * समस्याओं से होता है। मेरा अनुमान है कि आप एक * स्ट्रिंग * में पास हुए हैं, संख्या नहीं, लेकिन कोड को सत्यापित करने के बिना 'सत्यापनकर्ता' मैं नहीं बता सकता। – Malvolio

+0

आपके कोड में कुछ भी नहीं है जो (अपरिभाषित और अनियंत्रित) जावास्क्रिप्ट चर को "मूल्य" नामक एक DOM तत्व से जोड़ता है जिसका नाम "मान" होता है। आपको उस तत्व तत्व को खोजने और उसके मूल्य निकालने के लिए जावास्क्रिप्ट को बताने के लिए किसी भी तरीके से आवश्यकता है। –

+0

मैं यह कैसे कर सकता हूं? –

उत्तर

5

यहाँ JSfiddle Demo

है मैं अपने HTML बदल गया है और अपने इनपुट पाठ फ़ील्ड एक आईडी देना मूल्य का। मैंने आपके सत्यापनकर्ता फ़ंक्शन के लिए पारित पैरा को हटा दिया है, और इसके बजाय document.getElementById() का उपयोग कर अपने टेक्स्टफील्ड की सामग्री को पकड़ लिया है; तो मैं +order साथ मूल्य में str परिवर्तित ताकि आप देख सकते हैं कि यह शून्य से अधिक है:

<input type="text" maxlength="3" name="value" id='value' /> 
<input type="button" value="submit" onclick="verifyorder()" /> 
</p> 
<p id="error"></p> 
<p id="detspace"></p> 

function verifyorder() { 
     var order = document.getElementById('value').value; 
     if (+order > 0) { 
      alert(+order); 
      return true; 
     } 
     else { 
      alert("Sorry, you need to enter a positive integer value, try again"); 
      document.getElementById('error').innerHTML = "Sorry, you need to enter a positive integer value, try again"; 
     } 
    } 
+1

अगर मैं जावास्क्रिप्ट पर परम लाने के लिए चाहता हूं तो कैसे? 'जावास्क्रिप्ट: somefunc (someparams);' इस तरह? – jboxxpradhana

-3

प्रयास करें: if(parseInt(order)>0){....

18

पाठ बॉक्स "txtValue" की एक आईडी दें और निम्नलिखित के लिए इनपुट बटन घोषणा बदलने के लिए:

<input type="button" value="submit" onclick="verifyorder(document.getElementById('txtValue').value)" /> 
+3

यहां बेहतर उत्तर, जो फ़ंक्शन के तर्कों का उपयोग करता है। –

+1

यह उत्तर एक स्वीकार किया जाना चाहिए। – madrick

0

बस अपने इनपुट पाठ क्षेत्र में आईडी गुण डाल -

<input type="text" maxlength="3" name="value" id="value" /> 
संबंधित मुद्दे