带有JavaScript的HTML表单 [英] HTML Forms with JavaScript

查看:141
本文介绍了带有JavaScript的HTML表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何从XHTML表单获得对JavaScript文件的响应.该JavaScript是内部的!

How can I get response from an XHTML form to a JavaScript file. This JavaScript is internal!
Thanks!

推荐答案

问题非常不准确(请参阅上面的评论),所以如果我回答错误的问题也不要怪我. >
我假设您只需要通过XHTML中嵌入的一些JavaScript代码来处理表单数据.我还假定您使用客户端JavaScript,因为这些天不经常使用服务器端JavaScript.确实,可能存在一些问题(请参阅下文).首先要了解的是:如果只需要客户端JavaScript处理,则不需要表单,也不需要将HTTP请求发送到服务器的表单.实际上,您甚至不需要服务器来进行开发,甚至不需要本地服务器,也不需要任何地方的服务器.您可以在以后以及何时需要时将开发结果部署到服务器上.

因此,如果我的假设是正确的,请阅读上面的代码示例.基本上,这就是您需要了解的全部内容:

The question is very inaccurate (please see my comment to it above), so don''t blame me if I answer wrong question.

I assumed that you simply need to process form data by some JavaScript code embedded in XHTML. I also assumed you use client-side JavaScript as server-side JavaScript is not used often these days. Indeed, there could be some problems (please see below). First thing to understand: if you need just client-side JavaScript processing, you don''t need form, which is also needed to send HTTP request to the server. You actually don''t even need a server for development, not even a local server, no servers at all anywhere. You can deploy the result of your development to a server machine later, when and if this is needed.

So, if my assumptions are correct, read the above code sample. Basically, this is all you need to know:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<title>JavaScript in XHTML sample</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<script type="text/javascript"><![CDATA[
			function submitHandler() {
				var div = document.getElementById("placeholder");
				var checkbox = document.getElementById("checkbox");
				var textarea = document.getElementById("textarea");
				var text =  document.getElementById("text");
				var select =  document.getElementById("select");
				div.innerHTML = "<br/><hr/>" + 
					"Check box checked: <b>" + checkbox.checked + "</b><br />" +
					"Text area value: <b>" + textarea.value + "</b><br />" +
					"Text box value: <b>" + text.value + "</b><br />" +
					"Selected make: <b>" + select.value + "</b><br />";
			}
		]]></script>
	</head>
<body>

<div>
<input type="checkbox" id="checkbox"/>Check box<br/>
<textarea placeholder="Type some message here..." id="textarea" /><br/>
<input type="text" placeholder="Type one line..." id="text" /><br/>
<select id="select">
  <option value="Volvo">Volvo</option>
  <option value="Toyota">Toyota</option>
  <option value="Honda" selected="true">Honda</option>
  <option value="Nissan">Nissan</option>
  <option value="Saab">Saab</option>
  <option value="Mercedes">Mercedes</option>
  <option value="Audi">Audi</option>
</select><br/>
<button onclick="javascript:submitHandler()" accesskey="S"><u>S</u>ubmit</button>
</div>

<div id="placeholder" />

</body>
</html>



注意:与普通" HTML不同,XHTML要求CDATA节将JavaScript代码夹在中间,以防止XML对其进行解析. 普通" HTML宁愿需要<!-- ... -->(注释)括号.而且,XML区分大小写,而XHTML属性都是小写的.这些差异在尝试将HTML代码作为XHTML处理时会产生问题-它可能会失败或使代码失效.

—SA



Pay attention: Unlike "plain" HTML, XHTML requires CDATA section to sandwich JavaScript code, to prevent XML parsing of it. "Plain" HTML would rather need <!-- ... --> (comment) brackets. Also, XML is case-sensitive, and XHTML attributes are all low-case. These differences creates problems in attempt to process HTML code as XHTML — it may be failed or render the code defunct.

—SA


这篇关于带有JavaScript的HTML表单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆