robot javascript HELP!

M

Marcelo

Hi,

I need to make a robot that fills forms. I already made that with php
sites, but now I need that in a javascript pages site ( the robot can
be php,asp, asp.net ), anyone knows how can I do it? or somewhere I can
find more info?

Thanks!

Marcelo
 
E

Erwin Moller

Marcelo said:
Hi,

I need to make a robot that fills forms. I already made that with php
sites, but now I need that in a javascript pages site ( the robot can
be php,asp, asp.net ), anyone knows how can I do it? or somewhere I can
find more info?

Thanks!

Marcelo

Hi,

Do you want a JS script that fills in a form?

JS must be on the same page as the form, or you might hit into
security-issues.
(If you want to fill a form on another window.)

If it is on the same page, just fill in what you want like this:

<form action="bal.php" name="myForm">
firstname: <input type="text" name="firstname" value="">
<br>
lastname: <input type="text" name="lastname" value="">
<br>
<input type="submit" value="send">
</form>

<script type="text/javascript">
// fill it
document.forms["myForm"].firstname.value = "Zaphod";
document.forms["myForm"].lastname.value = "Beeblebrox";
// send it
document.forms["myForm"].submit();
</script>


Is that what you are looking for?

Regards,
Erwin Moller
 
M

Marcelo

Hi,

Thanks for the answer.

I want that php fills a javascript form, but I don't know how to send
the values or select the values of combo boxes ( in some cases ).

Best Regards

Marcelo
 
A

ASM

Marcelo a écrit :
I want that php fills a javascript form, but I don't know how to send
the values or select the values of combo boxes ( in some cases ).


Usually a form is written and works in html.
Scripts in JS are only to help in filling fields by users(*)
Scripts in php can pre-fill fields or/and display necessary options of
selects

Php knows how to receive fields or combo boxes values,
there is nothing to do in JavaScript to send those.
On re-issue of form from php, the php fills fields it knows.

(*) JS looks if fields are filled up and, if not, prevent submit
<form onsubmit="return validate(this)" blah ...>

function validate(aForm) {
for (var i=0;i<aForm.length;i++) {
if(aform.type == 'text' && aForm.value == '') {
alert(txt+aForm.name);
aForm.focus();
aForm.select();
return false;
}
if(aform.type == 'select' && aForm.value == '') {
alert('Please choice in list : '+aForm.name);
aForm.focus();
aForm.select();
return false;
}
if(aform.type == 'radio') {
var e = aForm.elements[aForm.name];
if(e.length>0) {
var ok = true;
for(var j=0;j<e.length;j++) if(e.[j].checked) ok=false;
if(ok) {
alert('Please choice : '+aForm.name);
aForm[0].focus();
return false;
}
}
}
}
return true;
}
 
M

Marcelo

Thanks for the info, so It can't be do it? ( with php or asp ala
"robot form filler" ), can be do it with a win 32 app?
Basically I need something that hide some fields of a webpage and show
partially in other site.


field1 field2 field3
â–¼
page1(form in javascript)
â–¼
site1
â–¼
site2 ("masked site")
â–¼
page1
â–¼
field1 field2
â–¼
USER ( only see 2 fields )


Thanks

MARCELO
 
E

Erwin Moller

Marcelo said:
Hi,

Thanks for the answer.

I want that php fills a javascript form, but I don't know how to send
the values or select the values of combo boxes ( in some cases ).

Best Regards

Marcelo

Hi Marcelo,

I think you are confusing two things: serverside and clientside.
1) PHP runs only at server, and produces HTML and the Javascript.
2) The delivered HTML (including JS) is executed in a client (=browser).

So you cannot directly let PHP fill a form.

Of course, you are free to let PHP fill in values for formelements, and let
PHP SELECT some options in a SELECT or in a RADIO typed formelement, but
remember that this must happen at 'producetime', that is when you make the
HTML.
Once PHP has delivered the HTML, it is completely out of touch with the HTML
page.

So when you write: "I want that php fills a javascript form", do you mean
you KNOW what values you want in the form?

Please rephrase your question (or rethink your design).

If you want to let your form on the client communicate with some PHP scripts
on some server, solutions exists (AJAX comes into mind), but I am unsure
what you want.

Good luck!

Regards,
Erwin Moller
 
M

Marcelo

Hi Erwin,

I need a roobot that fills a form, I already made that with php (
sending the url with values ) but i want to make the same thing on a
javascript page, so I don't know how to send the values
So when you write: "I want that php fills a javascript form", do you mean
you KNOW what values you want in the form?

Yes I know

Thanks

Regards

Marcelo
 
A

ASM

Marcelo a écrit :
Thanks for the info, so It can't be do it? ( with php or asp ala
"robot form filler" ), can be do it with a win 32 app?
Basically I need something that hide some fields of a webpage and show
partially in other site.


field1 field2 field3
â–¼
page1(form in javascript)

it is what I don't understand : why a form in JS if you use php ?
â–¼
site1
â–¼
site2 ("masked site")
â–¼
page1
â–¼
field1 field2
â–¼
USER ( only see 2 fields )


Thanks

MARCELO

[ = PHP = ] _______________

To non display a fild already filled up :
(it will be write in html code and will be submit with others fields in
same form)

<input type="text" name="field1"
<? if(isSet $field1) echo "style=\"display:none\""; ?>
value="<? echo $field1 ?>" >

or to do not write it if previously filled up

<? if(!isSet $field1) { ?>
<input type="text" name="field1">
<? } ?>

same with a combo box

<select name="combo1">
<? if($combo1 != 'apple')
echo "<option value=\"apple\">Apple</option>\n";
?>


[ = JS = ] ______________________
(not a good idea) (suppose you are in php)
Will virtally only write empty fields

<?
/* php to set/get php _POST variables */
?>
<html>
<script type="text/javascript">
var fld = new Array();
fld[1] = '<? echo $field1 ?>';
fld[2] = '<? echo $field2 ?>';
function setFields() {
var txt = '';
var ok = false;
for(var i=0;i<fld.length;i++)
if(fld != '') {
txt += '<input type="text" name="field'+(+1+i)+'">
ok = true;
}
if(ok) txt += '<input type="submit" value="pronto">';
document.write(txt);
}
</script>
<form name="form1" action="myPhp.php" method="post">
<script type="text/javascript">
setFields();
</script>
</form>
</html>
 
A

ASM

Marcelo a écrit :
Thanks for the info, so It can't be do it? ( with php or asp ala
"robot form filler" ), can be do it with a win 32 app?
Basically I need something that hide some fields of a webpage and show
partially in other site.


field1 field2 field3
â–¼
page1(form in javascript)

it is what I don't understand : why a form in JS if you use php ?
â–¼
site1
â–¼
site2 ("masked site")
â–¼
page1
â–¼
field1 field2
â–¼
USER ( only see 2 fields )


Thanks

MARCELO

[ = PHP = ] _______________

To non display a fild already filled up :
(it will be write in html code and will be submit with others fields in
same form)

<input type="text" name="field1"
<? if(isSet $field1) echo "style=\"display:none\""; ?>
value="<? echo $field1 ?>" >

or to do not write it if previously filled up

<? if(!isSet $field1) { ?>
<input type="text" name="field1">
<? } ?>

same with a combo box

<select name="combo1">
<? if($combo1 != 'apple')
echo "<option value=\"apple\">Apple</option>\n";
?>


[ = JS = ] ______________________
(not a good idea) (suppose you are in php)
Will virtally only write empty fields

<?
/* php to set/get php _POST variables */
?>
<html>
<script type="text/javascript">
var fld = new Array();
fld[1] = '<? echo $field1 ?>';
fld[2] = '<? echo $field2 ?>';
function setFields() {
var txt = '';
var ok = false;
for(var i=0;i<fld.length;i++)
if(fld != '') {
txt += '<input type="text" name="field'+(+1+i)+'">
ok = true;
}
if(ok) txt += '<input type="submit" value="pronto">';
document.write(txt);
}
</script>
<form name="form1" action="myPhp.php" method="post">
<script type="text/javascript">
setFields();
</script>
</form>
</html>
 
A

ASM

Marcelo a écrit :
Hi Erwin,

I need a roobot that fills a form, I already made that with php (
sending the url with values ) but i want to make the same thing on a
javascript page, so I don't know how to send the values




Yes I know

to non visually display fields by javascript :

<?
/* php to set/get php _POST variables */
?>
<html>
<script type="text/javascript">

var fld = new Array();
fld[1] = '<? echo $field1 ?>';
fld[2] = '<? echo $field2 ?>';

function hideFields() {
var f = document.forms['form1'];
var j = 0;
for(var i=0;i<f.length;i++)
if(f.type == 'text') {
if(fld[j] != '')
f.style.display = 'none';
j++;
}
}

onload = hideFields;

function showHideField(fieldName,what) {
var f = document.forms['form1'].elements[fieldName];
if(f.style.display != 'none') {
f.style.display = 'none';
what.value = 'Show '+fieldName;
}
else {
f.style.display = 'inline';
what.value = 'Hide '+fieldName;
}
}

</script>
<form name="form1" action="myPhp.php" method="post">
<p>Field 1 : <input type="text" name="field1"
value="<? echo $field1 ?>">
</p>
<p>Field 2 : <input type="text" name="field2"
value="<? echo $field2 ?>">
</p>
<p><input type="submit" value="Send">
</p>
<p><input type="button" value="Show/Hide Field 1"
onclick="showHideField('field1',this);">
<input type="button" value="Show/Hide Field 2"
onclick="showHideField('field2',this);">
</p>
</form>
</html>
 
A

ASM

ASM a écrit :[some code]

correction :


<html>
<script type="text/javascript">
var fld = new Array();
fld[1] = '<? echo $field1 ?>';
fld[2] = '<? echo $field2 ?>';
function setFields() {
var txt = '';
var ok = false;
for(var i=0;i<fld.length;i++)
if(fld == '') {
txt += '<input type="text" name="field'+(+1+i)+'">';
ok = true;
}
if(ok) txt += '<input type="submit" value="pronto">';
document.write(txt);
}
</script>
<form name="form1" action="myPhp.php" method="post">
<script type="text/javascript">
setFields();
</script>
</form>
</html>
 
M

Marcelo

it is what I don't understand : why a form in JS if you use php ?


Because the "site1" have javascript pages, and I don't have control
over it.

Here's a little explanation why I need that.

We have a company that sells some products,our company represents an
international ( BIG ) one, we have the rights to sell on my country,
our customers buy the products trough a website that is hosted by the
international company. Our marketing departament decided to sell some
products at different prices that the big company does, so we need to
mask that info with our prices ( the international company can't do it
at this moment ), thats why i need to "mask" the international site.

Marcelo
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,431
Messages
2,571,677
Members
48,796
Latest member
Greg L.

Latest Threads

Top