2017-08-19 10 views
0

J'écris un petit script dans Bottle qui lit l'entrée de l'utilisateur à partir du code HTML via POST. Je voudrais renvoyer le résultat au HTML de la fonction Bottle qui pourrait être analysé par un script dans le HTML.Script en HTML pour gérer le message retourné à partir de la bouteille

Code bouteille:

@app.route("/") 
def index(): 
    return template("user_info.tpl", message = "please enter your data: ") 
@app.route("/", method="POST") 
def formhandler(): 

    x = int(request.forms.get('x')) 
    y = int(request.forms.get('y')) 
    piece = request.forms.get("value") 
    final_output = int(slope)*int(value) + int(intercept) 
    return template("user_info.tpl", message=str(final_output)) 
app.run(host="localhost", port = 8080, debug = True) 

Mon HTML jusqu'à présent:

<html> 
<head> 
<title>Form Example</title> 

</head> 
<body> 
    <form method="post" action="/"> 
    <fieldset> 
    <legend>SAMPLE FORM</legend> 
    <ul> 
     <li>Enter the row: <input name='x'> 
     </li> 
     <li>Enter the column: <input name='y'> 
     </li> 
     <li>Enter the piece name: <input name ="name"> 
     </li> 
    </ul><input type='submit' value='Submit Form'> 
    </fieldset> 
</form> 

<p>Quantitity: {{message}}</p> 

<script type="text/javascript"> 
if (message >= 100) 
{ 
    window.alert("Too high"); 
} 
else { 

    window.alert("Just perfect"); 
} 

</script> 

la bouteille de mon fichier HTML, je tente d'exécuter un script très simple à analyser la valeur renvoyée. Cependant, aucune popup n'est déclenchée, même si je saisis des valeurs qui correspondent à la condition de contrôle. Comment puis-je réparer ça?

+1

vous devez donner le javascript si condition comme 'if ({{message}}> = 100)' seulement alors vous obtiendrez la variable, si vous voulez vous pouvez aller à la console et vérifier le script pour la valeur présente. –

Répondre

1

Je vois quelques problèmes possibles:

  1. request.forms.get("value") - vous n'avez pas de champ de valeur sur le formulaire
  2. final_output = int(slope)*int(value) + int(intercept) - mentionne pas de slope et intercept dans le code
  3. vous n » t avoir message variable dans JS, alors ajoutez var message = {{message}} à la section
+0

Merci beaucoup! Vous avez souligné les failles exactes. Ça fonctionne maintenant. – Ajax1234

+0

@ Ajax1234, de rien) –