Jump to content
  • 0

тег param


Sameccc
 Share

Question

В описании этого тега <param> сказано, что при помощи него можно передавать параметры апплету или элементу activeX.

<applet>
<param name=n1 value=var>
</applet>

таким образом апплету передаётся аргумент, значение которого var . То есть мы передаём статический параметр. Но как реализовать, чтобы передавался динамический параметр, значение которого заранее неизвестно? Ну, например, как можно передать апплету аргумент, значение которого будет взято из тега <input>?

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

При передаче аргумента апплету передаётся не значение переменной, имя которой "var", а её имя. (Хотя я неудачно пример привёл используя имя переменной "var". Для наглядности возьмём имя a1)

у инпута есть name=var, я так думаю что <param name=n1 value=$var>

хотя может я что и не так понял... :blink:

Мы ввели в инпут число или текст (неважно), например 902. Получаем:

var a1=902

<applet>
<param name=n1 value=a1>
</applet>

то апплет воспримет этот аргумент как a1. Но нужно значение 902.

Edited by Sameccc
Link to comment
Share on other sites

  • 0

На сколько я понимаю, с формы передается переменная name, у которой значение скажем a1, тоесть name="a1", так?

Теперь методом передачи данных post action="путь до файла где есть этот самый аплет".

А в этом файле есть такая строка <param name=n1 value=$a1> где a1 уже выступает в роли переменной.

Но моя логика может быть и неправильной, поскольку я мало еще пока знаю пхп. :blink:

Link to comment
Share on other sites

  • 0
На сколько я понимаю, с формы передается переменная name, у которой значение скажем a1, тоесть name="a1", так?

Теперь методом передачи данных post action="путь до файла где есть этот самый аплет".

А в этом файле есть такая строка <param name=n1 value=$a1> где a1 уже выступает в роли переменной.

Но моя логика может быть и неправильной, поскольку я мало еще пока знаю пхп. :blink:

Вы правильно поняли суть проблемы. Однако, таким образом проблему не удаётся решить. Вот мой исходный код (правда скрипт реализован на JavaScript):

<HTML>
<HEAD>
<script type="text/javascript">
function nnn()
{
var a1=document.getElementById("m1").value;
document.getElementById("m2").value=a1;
}
</script>
</HEAD>
<BODY>

<form>
<input type=text id=m1 value=4 />
<input type=text id=m2 />
<input type=button value=Ok onclick="nnn()" />
</form>

<APPLET codebase="classes" code="javaapplication9/ParamBanner.class" width=350 height=200>
<param name=message value=$a1 >
</APPLET>
</BODY>
</HTML>

Страничка представляет собой два инпута, и кнопка "Ok", а также поле для вывода апплета. Первый инпут имеет значение по умолчанию 4. Второй пустой. Если нажать кнопку "Ok", то можно увидеть, что скрипт запускается и во 2-ом инпуте появляется значение 4. Также, инпут, по идее, должен запихнуть это значение в аплет, который в свою очередь отобразит эту информацию в html-страничку. Но, он опять выводит "$a1" и никак не "4". Также, можно заметить, что выполнение апплета не зависит от нажатия кнопки (он выполняется когда страничка загружается в браузер).

Пару слов об апплете: Апплет прост выводит на страничку информацию из поля инпут.

Может я не так делаю. Может просто у меня руки кривые. Если есть такая возможность скиньте свою версию реализации этой проблемы (можно на ПХП).

Link to comment
Share on other sites

  • 0

На пхп это будет выглядеть примерно так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>

<body>
<?php

$a = ($test1 = $_GET['test1']);
echo '<p>Первое поле: '.$a.'</p>';

$b = ($test2 = $_GET['test2']);
echo '<p>Второе поле: '.$b.'</p>';

echo
'<form action="" method="GET">
<p><input name="test1"></p>
<p><input name="test2"></p>
<p><input type="submit" value="Добавить"></p>
</form>';
?>
</body>
</html>

Но здесь можно еще добавить проверку на существование переменной, тоесть следуя логике:

если она есть, то выводи результат, а если нет, то выводи ошибку.

Link to comment
Share on other sites

  • 0

Спасибо большое за желание мне помочь, но используя CGI (метод пост и гет) мы отправляем данные веб-серверу. Нам нужно, используя веб-страничку, отправить данные апплету (программе которая находится у клиента). Можно, впринципе, передать не только апплету, но и activeX (который тоже находится у клиента). Таким образом нельзя это реализовать, можно только используя тег "param".

Link to comment
Share on other sites

  • 0

Если тебе надо поменять просто поменять value у <param>, то можно так:

<html>
<head>
<script type="text/javascript">
function change_params() {
var data = document.getElementById("val").value || 0;
var params = document.getElementsByTagName("param");
for ( var i=0; i<params.length; i++ ) {
if ( params[i].getAttribute("name") == "message" ) {
params[i].setAttribute("value", data);
break;
}
}
}
</script>
</head>

<body>
<form>
<input type="text" id="val" value="0" />
<input type="button" value="Ok" onclick="change_params()" />
</form>
<applet codebase="classes" code="javaapplication9/ParamBanner.class" width="350" height="200">
<param name="message" value="0" >
</applet>
</body>
</html>

Но я совсем не знаком с апплетами, поэтому интересно, будет ли он ощущать такое изменение.

Edited by e1f
Link to comment
Share on other sites

  • 0
Если тебе надо поменять просто поменять value у <param>, то можно так:

<html>
<head>
<script type="text/javascript">
function change_params() {
var data = document.getElementById("val").value || 0;
var params = document.getElementsByTagName("param");
for ( var i=0; i<params.length; i++ ) {
if ( params[i].getAttribute("name") == "message" ) {
params[i].setAttribute("value", data);
break;
}
}
}
</script>
</head>

<body>
<form>
<input type="text" id="val" value="0" />
<input type="button" value="Ok" onclick="change_params()" />
</form>
<applet codebase="classes" code="javaapplication9/ParamBanner.class" width="350" height="200">
<param name="message" value="0" >
</applet>
</body>
</html>

Но я совсем не знаком с апплетами, поэтому интересно, будет ли он ощущать такое изменение.

Передача аргумента апплету была осуществлена, но почему-то он прорисовал значение, которое задано по умолчанию "0". Думаю, что косяк в самом апплете. Буду разбираться.

За идею большое Вам спасибо!!!

Edited by Sameccc
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy