Reputation: 1937
hello i have the html code below
<form>
<input type="text" id="filepathz" size="40" placeholder="Spot your project files">
<input type="button" id="spotButton" value="Spot">
</form>
the javascript code
window.onload = init;
function init() {
var button = document.getElementById("spotButton");
button.onclick = handleButtonClick;
}
function handleButtonClick(e) {
var filepathz = document.getElementById("filepathz");
var path = filepathz.value;
if (path == "") {
alert("give a filepath");
}else{
var url = "http://localhost:5000/tx/checkme/filepathz=" + path;
window.open (url,'_self',false);
}
}
and the python code on flask
def index():
"""Load start page where you select your project folder
or load history projects from local db"""
from txclib import get_version
txc_version = get_version()
prj = project.Project(path_to_tx)
# Let's create a resource list from our config file
res_list = []
prev_proj = ''
for idx, res in enumerate(prj.get_resource_list()):
hostname = prj.get_resource_host(res)
username, password = prj.getset_host_credentials(hostname)
return render_template('init.html', txc_version=txc_version, username=username)
@app.route('/tx/checkme/<filepathz>')
def checkme(filepathz):
filepathz = request.args.get('filepathz')
return render_template('init.html', txc_version=filepathz)
what am i doing wrong and can't get the data from the form (filepathz) <--- i get None
Upvotes: 1
Views: 4063
Reputation: 2116
You're not passing the variable correctly. There are two ways to pass the variable:
1) Pass it via get method:
http://localhost:5000/tx/checkme/?filepathz=" + path; (Note the '?')
Currently you are trying to get the variable from request.args but not passing it in the request, that's why you get none.
2) Get it from the url with flask's url structure:
Do this in JS : http://localhost:5000/tx/checkme/" + path
And in you view :
@app.route('/tx/checkme/<filepathz>')
def checkme(filepathz):
return render_template('init.html', txc_version=filepathz) # You can use this variable directly since you got it as a function arguement.
Upvotes: 3