Ich habe versucht, diese Informationen für Stunden zu googeln und bin mir nicht sicher, ob ich gerade nicht richtig suche. Alles, was ich gesehen habe, sagt, dass ihr Textbereich Informationen enthält, die durch Kommas getrennt sind, und sie wollen etwas anderes tun. Ich versuche herauszufinden, wie man tatsächlich sicherstellt, dass Benutzer String-Werte eingeben, die durch Kommas getrennt sind (also entweder beim Eingeben einer Nachricht auftritt, wenn sie eine; etc eingeben, oder beim Übergeben einer Validierung auftritt). Ich möchte, dass die Werte durch Kommata getrennt sind, weil ich die substrings bei submit in ein Array eingegeben habe, indem ich sie mit Kommas als Begrenzer spalte. Ich verwende HTML, Javascript und Python. Bitte fragen Sie mich nicht, andere Sprachen zu verwenden oder CGI nicht zu verwenden, da ich nicht in der Lage bin, etwas zu meinem Klassencomputer hinzuzufügen. Danke für jede Hilfe!So stellen Sie sicher, dass ein Textbereich Zeichenfolgenwerte hat, die durch Kommas getrennt sind
HTML-Code:
<html>
<head>
<script type='text/javascript'>
function track()
{
var xhttp = new XMLHttpRequest();
var tnum=document.getElementById('tnum').value; //get value of textarea
if (trimAll(document.getElementById('tnum').value) === '')
{
alert('Please enter a tracking number!');
}
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200)
{
document.getElementById('trackinfo').innerHTML = xhttp.responseText;
}
};
xhttp.open("POST", 'http://localhost:8000/cgi-bin/track_project_fxn.py', true);
xhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xhttp.send('tnum='+tnum);
}
function trimAll(sString)
{
while (sString.substring(0,1) == ' ')
{
sString = sString.substring(1, sString.length);
}
while (sString.substring(sString.length-1, sString.length) == ' ')
{
sString = sString.substring(0,sString.length-1);
}
return sString;
}
</script>
</head>
<body bgcolor="33cccc">
<br>
<h3>Tracking</h3>
<form id="trackform">
<textarea form="trackform" id="tnum" rows="10" cols="45" style="resize:none" placeholder="Enter up to 25 tracking numbers, one per line, and separated by commas">
</textarea>
<br><Br>
<input type="button" value="Submit" onclick="track()">
<input type="reset" value="Clear">
</form>
<div id="trackinfo">
</body>
</html>
Python-Code:
import cgi, cgitb, re
cgitb.enable
form=cgi.FieldStorage()
tnum=form.getvalue('tnum')
unum=tnum.upper()
snum=re.sub('[\s+]', '',unum)
tlist=snum.split(',')
print("Content-type:text/html\r\n\r")
print()
for tnumber in tlist:
<logic>
Was genau möchten Sie vom Browser senden? Fügen Sie ein Beispiel hinzu. Auch was alle gültigen Formate dürfen vom Benutzer eingegeben werden? – gurvinder372
Korrigieren Sie mich, wenn ich falsch liege, möchten Sie verschiedene Wörter in einer Zeichenfolge durch Kommas getrennt sein, oder Benutzer wird eine Eingabe von mehreren Zeichenfolgen durch Kommata getrennt geben? –
Der Benutzer tippt in das Textfeld bis zu 25 verschiedene Zeichenketten, bestehend aus Zahlen und Buchstaben, und sie sollten jede Zeichenkette mit einem Komma trennen. – Tigger