I have a site where people can submit YouTube videos.
What I need help with (not being very good at HTML programming) is that some use it to post spam or malformed URLS.
What I have is a HTML form with a text box and a button.
So I need it so people can only submit of they have entered a URL to a YouTube page in the form of "http://www.youtube.com/watch?v=" Then their video ID.
Basically I only want them to be able to submit "http://www.youtube.com/watch?v=" with their video ID on the end, EG, http://www.youtube.com/watch?v=_qLTrO60o3E
Hope someone can point me in the right direction!
Thank you.
Jack,
You need to test the URL via a regular expression to check whether it is in a given format. You could implement this on the client side, but as posted in the question comments any input must also be checked on the server. It's easy for a user to disable JavaScript and most Spam bots doesn't even use JavaScript.
For modern browsers, the client-side implementation could be done as easily as using the HTML5 form validation pattern attribute with a regular expression. So yes, this can be done using plain HTML (well, not for IE).
Following examples are regular expressions for JavaScript from the TinyMCE mediahtml5 plugin:
YouTube
/watch\?v=(.+)(.*)/
Vimeo
/vimeo\.com\/(.+)/
Dailymotion
/dailymotion\.com\/video\/([^_]*)/
Related
This is a rather simple question, but I cannot find documentation about it from Salesforce.
I am setting up an HTML Newsletter from Salesforce Vertical Response, and I need to put a link in the body of the email that goes to another site which takes the user's email address as a query string. I am doing this so that when the user clicks the link from the HTML email, they will automatically be signed up for a different blog mailing list.
The link will look like this www.mywebsite.com/blog/subscribe?email=your_email#email.com.
I can easily accomplish this by using the {EMAIL_ADDRESS} variable, such that the link looks like this:
Subsribe
This workds, but when the user gets the email and clicks the link, the '#' symbol gets stripped from the URL. Now I'm trying to figure out how to get around this. I saw some documentation on the URLENCODE() function for SalesForce, but when I try to use it in the HTML email editor in SalesForce, like URLENCODE({EMAIL_ADDRESS})it doesn't execute it, and instead interprets it literally as text. Can anyone help me? is it even possible to use functions from within the SalesForce HTML email editor?
Thanks
I havent used VerticalResponse, but if it leans on salesforce communication templates then you can always create an email template as Visualforce page. Then you can apply Encode functions to merge fields.
I'm glad you were able to find a workaround. If you ever go back to dealing with the URL, it's a good idea to disable our click-tracking when working with merge fields. This can be accomplished by adding nr_ before the http. Example: Subsribe - If you ever try that and it doesn't work, or if you have any other questions, please let us know via one of our Support channels:
support#verticalresponse.com
866-683-7842 x1
We also have live chat available: http://help.verticalresponse.com/
Regards,
Keith Gluck
VerticalResponse Customer Support
I have created an html form with text boxes and radio buttons ect.
I can email the form to an email address.
now the problem, when i fill in the form and click reply, i only get my blank html form back no values were left inside the textbox's.
Please help
We did some fairly extensive research about HTML forms in emails for a client of ours. The bottom line is that it barely works, so it’s best to link to a form in a browser.
What Quentin said holds water, many email clients (cough, outlook) are very specific in regards to their support for HTML emails. In fact most don't even support div's or embedded <style> blocks. Let alone an HTML form.
Your best bet is to use a URL that they click on, which in-turn opens up a form for them to fill out. If you need to capture some of their information automatically (such as email). you can generate query strings and in your mailer have it add the information in dynamicallly..
i.e; <a href="http://awesomeform.com/form.php?email=$client_email">
In email it would look like: http://awesomeform.com/form.php?email=myemail#email.com
Either way
If you are insistent on attempting this, use the email boilerplate to get you started. It has a ton of "best practices" and tips/tricks built right into it.
http://htmlemailboilerplate.com/
Complex HTML doesn't mix with many email clients. Forms are especially poorly supported.
Link to an HTML document available over HTTP instead. People can click a link and open it in a regular web browser.
I've noticed that browsers don't recognize my password field as a potential auto-complete target. I'm assuming this has something to do with the fact that the password field isn't in the original HTML - it's created by my GWT script after the page has loaded.
Is there a way to tell a browser, "hey, here's this form, treat it like usual?" How can I let browsers hook into my app for autofill?
There are some workarounds to get the browser to auto-complete your login like the one described here.
After struggling some time with it I strongly suggest you simply wrap an existing form of your host page (do not generate the inputs with GWT), do a form.submit() on it and have a servlet listen to the request.
I believe that password fields ( tags with type="password") are not auto-filled for fairly obvious security reasons. It doesn't matter that the field is added after page load by your GWT script.
Try mimicking the field in regular HTML and compare that to how your GWT app creates the DOM structure. Perhaps your GWT app is putting the page together differently?
I read some AJAX-Form tutorial like this. The tag form is used in HTML code. However, I believed that it is not necessary. Since we send HTTP request through XmlHttpRequest, the sent data can be anything, not necessary input in form.
So, is there any reason to have form tag in HTML for AJAX application?
Apart from progressive enhancement as already discussed (don't make your site require JavaScript until it really has to), a <form> with onsubmit would be necessary to reliably catch an Enter keypress submission.
(Sure, you can try trapping keypresses on separate form fields, but it's fiddly, fragile and will never 100% reproduce the browser's native behaviour over what constitutes a form submission.)
Sometimes, web apps using ajax to transform their data either use forms as a fallback when the user has no JavaScript enabled (a sometimes expensive but very good thing to do).
Otherwise, if an application builds and sends an AJAX request, there is no compelling reason to use a form except in rare special cases when you actually need a form element. Off the top of my head:
when using jQuery's form serialize function
when monitoring all fields in a form for changes
when there is need to make use of the reset form button (that to my knowledge is available in a proper <form> only).
I see at least two possible reasons :
Graceful degradation (see also Unobtrusive JavaScript) : if a user doesn't have Javascript enabled in his browser, your website should still work, with plain-old HTML.
Behavior of the browser : users know what forms look like and how they behave (auto-completion, error-correction, ...) ; it's best not going too far away from that
And I would add that, if you want the user to input some data, that's why <form> and <input> tags exist ;-)
Using the right tags also helps users -- as an example, think about blind users who are navigating with some specific software : those software will probably have a specific behavior for forms an input fields.
It really depends what you're doing. If you're wanting to take form content submitted by the user and use AJAX to send that somewhere then you're going to want to use the form tag so your user can enter their data somewhere.
There will be other times when you're not sending data from a form and in that case, you wont have a form to be concerned about :)
I just want to know whether there is a way to answer this question with "Yes" without using JavaScript.
What I want to do is have a search form that automatically generates URLs like http://example.com/search/my+search+term or something similar when I enter my search term into a search text field.
EDIT: Due to some mis-understanding (and not being clear on my part), a clarification: I want the browser to generate that URL based on the value of the text field when the form is submitted.
No, it's not possible without using JavaScript.
The best you can do is using a GET action and have an url like http://example.com/search/?q=my+search+term, where q is the name of the input search box.
Using html only, no.
You could have something server side that might work. You could have the server respond with a 302 response code. If you are using Apache, you could probably use mod_rewrite to take the GET request and generate a new url.
For example, the browser might ask for http://example.com/search/?q=blah+foo+bar, the server could then take that and send the browser a 302 redirect for http://example.com/search/blah+foo+bar.
See more information at the Apache url rewriting guide, or by using your favorite search engine.
You could still use javascript to generate the correct url, but if someone has javascript disabled, this would work as a fallback.
The answer is No
No if you want it to be client side, if you can do it server side (by submitting the form) you can use something like PHP
Yes you could perform something like this server-side pretty easily as long as you don't mind submitting a form.
EDIT: Upon further clarification from the author in comments below: It is not possible in a pure client-side manner without JavaScript or some other client-side tool like Flash/Silverlight (which is admittedly overkill).