我有一个网站,里面有一个表格。 我应该从表单中获取值,将它们放在数据库中。 我目前正在使用razorCMS作为我的网站的简单框架和WEBMATRIX作为编辑器(我可以使用VS2010,但我想在webmatrix中这样做)。 这是我的表格:
<form method="post" action="" class="custom">
<fieldset title="TITLE">
<legend>TITLE!</legend>
<div class="five columns">
<input type="text" placeholder="Pseudonimi" id="txtPseudo" value=""></input></div>
<div class="columns">
<select style="display: none;" id="jmSex">
<option selected>Don't know/option>
<option>M</option>
<option>F</option>
</select>
</div>
<div class="columns">
<select style="display: none;" id="jmCat">
<option selected>1</option>
<option>2</option>
<option>3</option>
</select>
</div>
<textarea id="jmNewText" rows="6" > </textarea>
<input class="radius button" id="btnAdd" type="Submit" title="Send" name="Dergo"
value="Send" style="float: right;" />
</fieldset>
</form>
提交表单后,我想使用REQUEST获取值,我实际上没有得到任何值。我总是得到空变量。我还尝试使用带有document.getelementbyid()的JavaScript来获取变量,我显示为null。 这是我提交的代码:
if (IsPost)
{
var pseudo = Request["txtPseudo"]; // THIS VALUE SHOWS NULL
var content = Request["jmTextNew"];
var kategori = Request["jmCat"];
var sex = Request["jmSex"];
var db = Database.Open("razorC");
var nextId = db.Execute("select max(id)+1 from rc_jm");
var sqlNew = "Insert INTO rc_Jm (pseudo, id, content, creation_date, kategori, sex) "
+ "values (@0, @4 , @1, GETDATE(), @2, @3)";
db.Execute(sqlNew, pseudo, content, kategori, sex, nextId);
}
答案 0 :(得分:1)
发送到服务器的输入值由name
属性标识,而不是id
属性。
因此,您需要为您的输入提供name
才能从Request
所以
<input type="text" id="txtPseudo" value="">
应该是
<input type="text" id="txtPseudo" name="txtPseudo" value="">
等