As I hinted in html form submitted with null values, this is because the form does not runat="server"
so the postback data is not processed by asp.net, i.e. properties of srchtxtx etc are not populated.
However html elements are still given unique ids on the page, so you cannot just do Request.Form["srchtxtx"];
To get around this, you can use the UniqueID of the input element to get the posted back value:
HTML
<form method="post" id="registration-form" action="default.aspx" class="form-general cf" data-querycompletion-url="ajax/searchinstant.aspx">
<input type="text" id="srchtxtx" name="srchtxtx" runat="server" />
<input name="btnConfirm" id="Submit1" class="right" value="register" type="submit" runat="server" />
</form>
C#
protected void Page_Load(object sender, EventArgs e)
{
string val1 = srchtxtx.Value; // always ""
string val2 = Request.Form["srchtxtx"]; // always null
string val3 = Request.Form[srchtxtx.UniqueID]; // input value
}